Композиция классов и объектов
Тип данных должен быть
реализован в виде класса с указанными закрытыми полями, где операции
реализуются в виде открытых методов класса. Требуется реализовать тип данных с
помощью класса. Во всех заданиях обязательно должны присутствовать:
·
Метод
инициализации Init(); метод должен контролировать значения аргументов на
корректность, при некорректных значения выводить
сообщение No и заканчивать
работу с этим экземпляром;
·
Ввод с клавиатуры
Read();
·
Вывод на экран Display(), в
котором выводятся поля экземпляра и результат вычислений специфического метода;
В головной функции требуется
создать один статический экземпляр описанного типа и для него последовательно
выполнить все указанные в списке методы. Список строится по шаблону:
<код операции>
<параметр операции>
Условно приняты следующие
коды операций:
1 – увеличение количества на
заданное число;
2 – уменьшение количества на
заданное число;
3 – задание первоначальной
цены товара;
4 – вычисление цены товара на
заданную дату;
0 – завершение ввода.
При отсутствии параметров
операции задавать фиктивный параметр=0. При невыполнимости операции параметры
объекта не изменять. После каждой операции выдавать на экран текущие параметры
объекта по шаблону:
<наименование_товара
> <номер_накладной> <текущая_дата>
<цена> <количество> <стоимость>




Формат входных данных.
Ввод:
параметры статического объекта по шаблону:
<наименование_товара>
<номер_накладной> <дата_оформления>
<цена> <количество> <дата_изготовления_товара>
<срок_хранения (в днях)>,
после список операций над
объектом, 0 – признак окончания списка ввода.
Вывод:
первоначальные параметры товара, затем после выполнения каждой операции текущие
параметры товара по шаблону:
<наименование_товара>
<номер_накладной> <текущая_дата>
<цена> <количество> <стоимость>.
Пример входных данных:
Tovar1 50 30.01.2015 100 20 2015 01 09 45
1 500
2 300
3 50.25
2 250
4 2015 03 31
2 160
1 180
4 2015 04 20
1 1440
0 0
Пример выходных данных:
Tovar1 50 2015-01-09 100.00
20.000000 2000.00
Tovar1 50 2015-01-09 100.00
20.000000 2000.00
Tovar1 50 2015-01-09 100.00
520.000000 52000.00
Tovar1 50 2015-01-09 100.00
220.000000 22000.00
Tovar1 50 2015-01-09 50.25
220.000000 11055.00
Tovar1 50 2015-01-09 50.25
220.000000 11055.00
Tovar1 50 2015-03-31 32.16
220.000000 7075.20
Tovar1 50 2015-03-31 32.16
60.000000 1929.60
Tovar1 50 2015-03-31 32.16
240.000000 7718.40
Tovar1 50 2015-04-20 25.73
240.000000 6175.20
Tovar1 50 2015-04-20 25.73
1680.000000 43226.40