Композиция классов и объектов
Тип данных должен быть
реализован в виде класса с указанными закрытыми полями, где операции
реализуются в виде открытых методов класса. Требуется реализовать тип данных с помощью
класса. Во всех заданиях обязательно должны присутствовать:
·
Метод
инициализации Init(); метод должен контролировать значения аргументов на
корректность, при некорректных значения выводить
сообщение No и заканчивать
работу с этим экземпляром;
·
Ввод с клавиатуры
Read();
·
Вывод на экран Display(), в
котором выводятся поля экземпляра и результат вычислений специфического метода;
В головной функции требуется
создать один статический экземпляр описанного типа и вызвать для него сначала
инициализацию, а затем методы загрузки и снятия денег в указанном порядке.
После выполнения каждой операции выдавать состояние банкомата по формату:
<ИдентификационныйНомер>
<ОбщаяСумма> <КупюрПо5000>
<КупюрПо1000> <КупюрПо500> <КупюрПо100> <КупюрПо50>
<КупюрПо10> <МонетПо5> <МонетПо2>
<МонетПо1> <МонетПо0.5> <МонетПо0.1> <МонетПо0.05> <МонетПо0.01>
При невозможности выполнения
операции состояние банкомата не изменять.




Формат входных данных.
Ввод:
параметры инициализации статического объекта по формату:
<ИдентификационныйНомер>
<МинСумма>
<МаксСумма> <КупюрПо5000> <КупюрПо1000>
<КупюрПо500> <КупюрПо100> <КупюрПо50> <КупюрПо10>
<МонетПо5> <МонетПо2> <МонетПо1>
<МонетПо0.5> <МонетПо0.1> <МонетПо0.05> <МонетПо0.01>,
Затем выполняемые над
банкоматом операции по формату:
<КодОперации>
<ПараметрыОперации>,
Где КодОперации
1 - загрузка кюпюр, 2 – снятие суммы, 0 – окончание
ввода.
Параметры загрузки купюр:
<НоминалКупюры> <КоличествоКупюр>
Параметр снятия суммы: <СнимаемаяСумма>
Вывод:
состояние банкомата после выполнения каждой операции.
Пример входных данных:
1234567 100.00 10000.00 1 3 2
5 2 3 1 3 2 5 2 3 2
2 12000.00
2 50.00
1 500 10
1 0.5 20
1 5 20
2 190.00
2 185.00
1 10 15
2 190.75
2 3250.00
2 9750.00
2 2000.72
0 0
Пример выходных данных:
1234567 9645.87
1 3 2 5 2 3 1 3 2
5 2 3 2
12000.00
out of limits!!!
1234567 9645.87 1 3 2 5
2 3 1 3 2 5 2 3 2
50.00 out of limits!!!
1234567 9645.87 1 3 2 5
2 3 1 3 2 5 2 3 2
1234567 14645.87 1 3 12 5 2
3 1 3 2 5 2 3 2
1234567 14655.87 1 3 12 5 2
3 1 3 2 25 2 3 2
1234567 14755.87 1 3 12 5 2
3 21 3 2 25 2 3 2
1234567 14565.87 1 3 12 4 1
0 19 3 2 25 2 3 2
1234567 14380.87 1 3 12 3 0
0 12 3 2 25 2 3 2
1234567 14530.87 1 3 12 3 0
15 12 3 2 25 2 3 2
1234567 14340.12 1 3 12 2 0
6 12 3 2 24 0 2 2
1234567 11090.12 1 0 12 0 0
1 12 3 2 24 0 2 2
9750.00 no such kupurs and monets!!!
1234567 11090.12 1 0 12
0 0 1 12 3 2 24 0
2 2
2000.72 no such kupurs and monets!!!
1234567 11090.12 1 0 12 0 0
1 12 3 2 24 0 2 2