Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

genichka avatar genichka 8 Точки

Zadacha Cinema

Здравейте, имам проблем с тази задача.Някаде ми се чупи логиката.

Моля Ви за помощ.Ако е възможно да ми дадете примерно решение.

Благодаря предварително.

Това е кода

https://pastebin.com/Z838DDKJ

А това е условието:

Задача 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.         
 

Тагове:
0
Programming Basics with C++
RuNNeR4142 avatar RuNNeR4142 396 Точки

Ако командата не е Movie Time, значи е число
и трябва да го парснеш за да получиш броя на хората които влизат.
В края на while трябва да подаваш нов command и да се проверява в условието на while.
Изходът с проверка Movie Time и другият изход за дохода трябва са да са извън while.
Те се изписват когато програмата приключва.

0
27/06/2019 19:03:57
genichka avatar genichka 8 Точки

Благодаря.Ще се опитам да го направя.

1
genichka avatar genichka 8 Точки

Колега, опитах се да направя задачата,но пак не се получава

Ето кода

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.

Как мога да я оправя?

Благодаря предварително.

0
RuNNeR4142 avatar RuNNeR4142 396 Точки

Трябва да отговори някой който разбира от C++. На мене ми идва много непознат и труден език, готови примери от интернет ми дават същата грешка чак се чудя какво става, пълна мистерия. Нямам представа как да прочетеш стринг и да го парснеш на инт.

0
genichka avatar genichka 8 Точки

Здравей Кольо, не мога да отворя линка.Може ли пак да ми го изпратиш?

Благодаря предварително.

0
genichka avatar genichka 8 Точки

Много ти благодаря.

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