Zadacha Cinema
Здравейте, имам проблем с тази задача.Някаде ми се чупи логиката.
Моля Ви за помощ.Ако е възможно да ми дадете примерно решение.
Благодаря предварително.
Това е кода
А това е условието:
Задача 4. Кино
От кино ви наемат да напишете програма, чрез която да разберете дали на една прожекцията ще се запълни залата и колко пари ще се изкарат от нея. Получавате места в залата и на всеки следващ ред до команда "Movie time!", колко хора влизат в залата. Цената на един билет е 5 лв. Ако текущия брой хора влезли в залата се дели на 3 без остатък, се прави отстъпка 5лв от общата им сметка.
Ако в залата се опитат да влязат повече хора от колкото места са останали, то се счита че местата са изчерпани и програмата трябва да приключи четенето на вход.
Вход
От конзолата се четат:
На първия ред - капацитет на залата - цяло число в интервала [50... 150]
На всеки следващ ред до команда "Movie time!":
Брой хора влизащи в киното - цяло число в интервала [1… 15]
Изход
На конзолата първо да се отпечата един ред:
При получена команда "Movie time!":
"There are {останали места} seats left in the cinema."
При изчерпване на местата в залата:
"The cinema is full."
След това да се отпечата:
"Cinema income - {приходи от залата} lv."
Примерен вход и изход
Вход Изход Обяснения
60
10
6
3
20
15
Movie time! There are 6 seats left in the cinema.
Cinema income - 255 lv. Първо получаваме капацитет на залата - 60 места. На следващият ред получаваме хората, които са влезли в залата - 10. Парите, който те ще заплатят са 10 * 5 = 50. След това получаваме, че в залата влизат 6 човека, тяхната бройка се дели на 3 и плащат с 5 лв. по-малко. Аналогично продължаваме до команда "Movie time!" като принтираме съответният изход.
50
15
10
10
15
5 The cinema is full.
Cinema income - 240 lv.
100
10
10
10
10
10
10
10
10
10
10
Movie time! There are 0 seats left in the cinema.
Cinema income - 500 lv.
Благодаря.Ще се опитам да го направя.
Колега, опитах се да направя задачата,но пак не се получава
Ето кода
https://pastebin.com/YAvtFrVN
изписва ми грешка
terminate called after throwing an instance of 'std::invalid_argument'
what(): stoi
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
Process returned 3 (0x3) execution time : 28.872 s
Press any key to continue.
Как мога да я оправя?
Благодаря предварително.
Трябва да отговори някой който разбира от C++. На мене ми идва много непознат и труден език, готови примери от интернет ми дават същата грешка чак се чудя какво става, пълна мистерия. Нямам представа как да прочетеш стринг и да го парснеш на инт.