Loading...
CvetelinP avatar CvetelinP -2 Точки

Задача 4. Кино ваучер

Привет ,

мога ли да получа решенеи на задачата " Кино ваучер".За мое улеснение ако може да е на C#.

Прилагам условието:

Любо е голям почитател на киното и редовно ходи на прожекции и участва в томболи, от които често печели ваучери за кино. Вашата задача е да напишете програма, която да изчислява колко покупки от киното може да си купи Любо със спечеленият ваучер. Ако името на покупката съдържа повече от 8 символа, то тя е билет за филм, а нейната цена представлява сумата на ASCII символите от първите ѝ два символа. Ако името на покупката съдържа 8 или по-малко символа, нейната цена е равна на стойността на първия ASCII символ в името. Любо въвежда името на покупките, които желае, докато не въведе "End" или не въведе покупка, чиято стойност е по-голяма от останалата сума на ваучера.

Вход

Първоначално се чете един ред:

  • Стойността на ваучера – цяло число в интервала [1…100000]

След това до получаване на команда "End" или до изчерпването на ваучера, се чете по един ред:

  • Покупката, която Любо е избрал – текст

Изход

Програмата приключва при въвеждане на команда "End" или при покупка чиято стойност е по-голяма от останалите пари от ваучера. На конзолата трябва да се напечатат три реда:

  • "{брои закупени билети}"
  • "{брой закупени други покупки}"

Примерен вход и изход

Вход

Изход

Обяснения

300

Captain Marvel

popcorn

Pepsi

1

1

Сумата на ваучера е 300

Дължината на името на първата покупка е 14 символа, 14 > 8 следователно е филм и цената се образува от първите два символа на текста:

'C'(67) и 'a'(94), цена: 67 + 94 = 164 <= 300, цената изпълнява условието да е по-ниска или равна от наличната сума и купуваме билета.

Остават: 300 – 164 = 136

Дължината на името на втората покупка е 7 символа, 7 <= 8 следователно това е продукт, чиято цена се получава от първият символ 'p'(112), цена: 112 <= 136, цената е по-ниска или равна от наличната сума и купуваме продукта.

Остават 136 – 112 = 24

Дължината на името на третата покупка е 5 символа, 5 <= 8 следователно това е продукт, чиято цена се получава от първият символ 'P'(80), цена: 80 > 24, цената е по-висока от останалата сума във ваучера, продукта не се купува и печатаме броя на покупките

1500

Avengers: Endgame

Bohemian Rhapsody

Deadpool 2

End

3

0

Сумата на ваучера е 1500

Дължината на името на първата покупка е 17 символа, 17 > 8 следователно е филм и цената се образува от първите два символа на текста:

'A'(65) и 'v'(118), цена: 65 + 118 = 183 <= 1500, цената е по-ниска или равна от наличната сума, следователно купуваме билета.

Остават: 1500 – 183 = 1317

Дължината на името на втората покупка е 17 символа, 17 > 8 следователно е филм и цената се образува от първите два символа на текста:

'B'(66) и 'o'(111), цена: 66 + 111 = 177 <= 1317, цената е по-ниска или равна от наличната сума и купуваме билета.

Остават: 1317 – 177 = 1140

Дължината на името на третата покупка е 10 символа, 10 > 8 следователно е филм и цената се образува от първите два символа на текста:

'D'(68) и 'e'(101), цена: 68 + 101 = 169 <= 1140, цената е по-ниска или равна от наличната сума и купуваме билета.

Остават: 1140 – 169 = 971

Получаваме команда End и печатаме броя на покупките

 

Тагове:
0
Programming Basics 12/04/2019 10:27:58
Iv_Konov avatar Iv_Konov 383 Точки

Здравей,

 

Заповядай:

using System;

namespace _04._Cinema_Voucher
{
    class Program
    {
        static void Main(string[] args)
        {
            int voucher = int.Parse(Console.ReadLine());

            int price = 0;
            int ticketPcs = 0;
            int otherProductPcs = 0;

            string product = Console.ReadLine();

            while (product != "End")
            {
                if (product.Length > 8)
                {
                    price = product[0] + product[1];

                    if (voucher >= price)
                    {
                        voucher -= price;
                    }
                    else
                    {
                        break;
                    }

                    ticketPcs++;
                }
                else
                {
                    price = product[0];

                    if (voucher >= price)
                    {
                        voucher -= price;
                    }
                    else
                    {
                        break;
                    }

                    otherProductPcs++;
                }

                product = Console.ReadLine();
            }

            Console.WriteLine(ticketPcs);
            Console.WriteLine(otherProductPcs);
        }
    }
}

 

Поздрави,

Иван

0
12/04/2019 10:30:06
CvetelinP avatar CvetelinP -2 Точки

Благодаря ! 

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.