Задача 'Report - System' от While loop More Exercises
Здравейте, това е задачата, която ми дава 90/100 точки в judge системата.
Някой има ли на идея какво точно бъркам? Благодаря предварително
Моето решение - https://pastebin.com/bsNHNhhB
Условието -
- 2.Система за отчет
На благотворително събитие плащанията за закупените продукти винаги се редуват: плащане в брой и плащане с карта. Установени са следните правила за заплащане:
- Ако продуктът надвишава 100лв., за него не може да се плати в брой
- Ако продуктът е на цена под 10лв., за него не може да се плати с кредитна карта
Програмата приключва или след като получим команда "End" или след като средствата бъдат събрани.
Вход
От конзолата се четат:
- Сумата, която се очаква да бъде събрана от продажбите - цяло число в интервала [1 ... 10000]
На всеки следващ ред, до получаване на командата "End" или докато не се съберат нужните средства: цените на предметите, които ще бъдат закупени - цяло число в интервала [1 ... 500]
Изход
На конзолата да се отпечата:
- При успешна транзакция: "Product sold!"
- При неуспешна транзакция: "Error in transaction!"
- Ако сумата на всички закупени продукти надвиши или достигне очакваната сума, програмата трябва да приключи и на конзолата да се изпишат два реда:
- "Average CS: {средно плащане в кеш на човек}"
- "Average CC: {средно плащане с карта на човек}"
Плащанията трябва да бъдат форматирани до втората цифра след десетичния знак.
- При получаване на команда "End", да се изпише един ред:
- "Failed to collect required money for charity."
-
Примерен вход и изход
Вход
Изход
Обяснения
500
120
8
63
256
78
317
Error in transaction!
Error in transaction!
Product sold!
Product sold!
Product sold!
Product sold!
Average CS: 70.50
Average CC: 286.50
По условие се редуват първо в брой плащане, след това чрез кредитна карта
120 >= 100 транзакцията се отхвърля 8 <= 10 транзакцията се отхвърля 63 <= 100 => транзакцията е успешна. 256 >= 10 => транзакцията е успешна. 78 <= 100 => транзакцията е успешна. 317 >= 10 => транзакцията е успешна. Обща събрана сума => 63 + 256 + 78 + 317 = 714; 714 >= 500 => Обща сума в брой => 63 + 78 = 141 Средно в брой => 141 / 2 = 70.50 Общо кредитни карти => 256 + 317 = 573 Средно кредитни карти => 573 / 2 = 286.50
600
86
150
98
227
End
Product sold!
Product sold!
Product sold!
Product sold!
Failed to collect required money for charity.
86 <= 100 => транзакцията е успешна. 150 >= 10 => транзакцията е успешна. 98 <= 100 => транзакцията е успешна. 227 >= 10 => транзакцията е успешна. Четем от конзолата команда "End". Проверка, дали е достатъчна сумата => 86 + 150 + 98 + 227 = 561; 561 <= 600 => печатаме, че сумата не е била събрана.
Благодаря Ви!