Programming-Basics-Book-CSharp-BG

Задача: дни за страстно пазаруване

Лина има истинска страст за пазаруване. Когато тя има малко пари, веднага отива в първия голям търговски център (мол) и се опитва да изхарчи възможно най-много за дрехи, чанти и обувки. Но любимото ѝ нещо са зимните намаления. Нашата задача е да анализираме странното ѝ поведение и да изчислим покупките, които Лина прави, когато влезе в мола, както и парите, които ѝ остават, когато приключи с пазаруването си.

На първия ред от входа ще бъде подадена сумата, която Лина има преди да започне да пазарува. След това при получаване командата “mall.Enter”, Лина влиза в мола и започва да пазарува, докато не получи командата “mall.Exit”. Когато Лина започне да пазарува, на всяка линия от входа ще получите стрингове, които представляват действия, които Лина изпълнява. Всеки символ в стринга представлява покупка или друго действие. Стринговите команди могат да съдържат само символи от ASCII таблицата. ASCII кода на всеки знак има връзка с това колко Лина трябва да плати за всяка стока. Интерпретирайте символите по следния начин:

Ако някоя от стойностите на покупките е по-голяма от текущите налични средства, Лина НЕ прави покупката. Парите на Лина не могат да бъдат по-малко от 0.

Пазаруването завършва, когато се получи командата “mall.Exit”. Когато това стане, трябва да принтирате броя на извършени покупки и парите, които са останали на Лина.

Входни данни

Входните данни трябва да се четат от конзолата. На първия ред от входа ще бъде подадена сумата, която Лина има преди да започне да пазарува. На всеки следващ ред ще има определена команда. Когато получите командата “mall.Enter”, на всеки следващ ред ще получавате стрингове, съдържащи информация относно покупките / действията, които Лина иска да направи. Тези стрингове ще продължат да бъдат подавани, докато не се получи командата “mall.Exit”.

Винаги ще се подава само една команда “mall.Enter” и само една команда “mall.Exit”.

Изходни данни

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

Парите трябва да се принтират с точност от 2 символа след десетичния знак.

Ограничения

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

Вход Изход Коментар
110
mall.Enter
d
mall.Exit
1 purchases. Money left: 80.00 lv. ‘d’ има ASCII код 100. ‘d’ e малка буква и за това Лина получава 70% отстъпка. 100% – 70% = 30.110 – 30 = 80 лв.
Вход Изход Вход Изход
110
mall.Enter
%
mall.Exit
1 purchases. Money left: 55.00 lv. 100
mall.Enter
Ab
**
mall.Exit
2 purchases. Money left: 58.10 lv.