02. Report System Java
Здвавейте колеги.
Условието на задачата е следното:
1.Система за отчет
На благотворително събитие плащанията за закупените продукти винаги се редуват: плащане в брой и плащане с карта. Установени са следните правила за заплащане:
- Ако продуктът надвишава 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 => печатаме, че сумата не е била събрана. |
Това е моето решение като получавам 2 Runtime error-а в Judge. Не мога да разбера грешката. Който може да помага. Благодаря предварително!