|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
28.01.2013, 20:36 | #1 |
Регистрация: 28.01.2013
Сообщений: 7
|
задача Работа банкомата
Купюры номиналом [4]= {10, 20, 50, 100};
количество купюр[4]={20,20,20,20}; клиент вводит сумму. условия: 1. проверить кратна ли она 10 2. сумма меньше 5 000 Показать клиенту информацию о выдаче денег. Списать деньги из массива "количество купюр". при этом если количество купюр каждого номинала заканчивается - выдавать деньги меньшим номиналом, пока в банкомате не закончатся купюры. то, что у меня получилось написать: Код:
еще примечание: мы изучили только темы: объявление переменных, if, else, switch, break, continue, do while, for, массивы. Помогите, пожалуйста, решить задачу. Совсем запуталась с ней Последний раз редактировалось Stilet; 28.01.2013 в 21:28. |
29.01.2013, 12:30 | #2 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Первый совет: чтобы меньше путаться, выделяйте функции (если Вы их не проходили - советую изучить самостоятельно, это очень важная вещь, всяко важнее switch, и довольно несложная). Возьмём Ваш код и чуть преобразуем:
Код:
Код:
Код:
|
29.01.2013, 12:30 | #3 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Далее, стоит изменить SumIsTooBig так, чтобы она использовала состояние кассы, а не "волшебное" число 3600:
Код:
Код:
Код:
Код:
|
29.01.2013, 14:53 | #4 |
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
Код:
|
29.01.2013, 16:58 | #5 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
1) continue в do {...} while(false) приводит к выходу из цикла (continue перемещает на конец итерации цикла, затем проверяется условие и...).
2) Вы идёте от младших купюр к страшим, так что 100 выдадите как 10 десяток, а 110 выдать не сможете вовсе, причём этого даже не обнаружите. |
29.01.2013, 18:04 | #6 |
Регистрация: 28.01.2013
Сообщений: 7
|
Спасибо за помощь!!! Вы, наверное, потратили много времени на эту задачу!
сейчас засяду и начну вникать и "понимать", что к чему. |
29.01.2013, 19:06 | #7 | |
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
окей ))
Код:
Цитата:
|
|
29.01.2013, 19:21 | #8 |
Регистрация: 28.01.2013
Сообщений: 7
|
Abstraction, мне было весело читать Ваш развернутый ответ
Не могу поверить, что нам задали такую сложную задачу. Я начала изучать программирование только 3 месяца назад! мне надо еще несколько раз все пречитать, чтобы понять |
30.01.2013, 10:49 | #9 | |||
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Цитата:
Цитата:
Код:
Вот кстати: сейчас, если пользователь введёт отрицательное число, кратное 10, произойдёт странное. В качестве самостоятельного задания - подумайте, как предотвратить такую проблему. Вообще (к слову о простых и сложных программах), один тестер упоминал о такой задаче на собеседовании: Цитата:
|
|||
30.01.2013, 11:51 | #10 |
Регистрация: 28.01.2013
Сообщений: 7
|
))))) с++ за 21 день - это не для меня! не могу выделить больше 1,5 часа в день для этого дела! и то не каждый день получается позаниматься!
может Вы будете так добры и скинете мне ссылку, где можно почитать эту книгу |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача по C++ работа с массивом | Phangorn | Помощь студентам | 0 | 26.12.2011 21:26 |
Хитрая проблема/задача/работа | awarebeaver | Фриланс | 1 | 20.10.2011 13:53 |
Задача на C++. Работа с классами. | HenryL | Фриланс | 4 | 10.11.2010 19:52 |
Задача. Работа с псевдослучайными последовательностями (ПСП). Работа с цветом. | 0101 | Помощь студентам | 3 | 17.12.2009 23:57 |
Работа со строками. Задача | Memfis_nya | Общие вопросы C/C++ | 4 | 16.11.2008 18:42 |