- •Вариант 1 Линия метро
- •Порядок выполнения работы
- •Вариант 2 Гостиница
- •Порядок выполнения работы
- •Вариант 3 Программа на ассемблере
- •Порядок выполнения работы
- •Вариант 4 Студенты института
- •Порядок выполнения работы
- •Вариант 5 Книжный каталог
- •Порядок выполнения работы
- •Вариант 6 Таблица идентификаторов
- •Порядок выполнения работы
- •Вариант 7 Учебные группы
- •Порядок выполнения работы
- •Вариант 8 Информационные агентства
- •Порядок выполнения работы
- •Вариант 9 Учебный план
- •Порядок выполнения работы
- •Вариант 10 Спортивная команда
- •Порядок выполнения работы
- •Вариант 11 Файловая система
- •Порядок выполнения работы
- •Вариант 12 Телефонный сервис
- •Порядок выполнения работы
- •Вариант 13 Торговый склад
- •Порядок выполнения работы
- •Вариант 14 Жилищный фонд
- •Порядок выполнения работы
- •Вариант 15 Туристическое бюро
- •Порядок выполнения работы
- •Вариант 16 Банковские операции
- •Порядок выполнения работы
- •Вариант 17 Отдел кадров
- •Порядок выполнения работы
- •Вариант 18 Жилищная контора
- •Порядок выполнения работы
- •Вариант 19 Налоговая служба
- •Порядок выполнения работы
- •Вариант 20 Сетевой сервер
- •Порядок выполнения работы
- •Вариант 21 Семестровый контроль
- •Порядок выполнения работы
- •Вариант 22 Сетевой сервис
- •Порядок выполнения работы
Вариант 13 Торговый склад
Разработать приложение, позволяющее организовать работу предприятия по продаже товаров. Информация о товарах, продаваемых предприятием, хранится в некотором описателе товара. Предприятие организует продажу товаров оптом и в розницу.
Описатель оптового товара содержит: наименование товара и его наличие на складе (количество оптовых партий); наименование фирмы и страны – изготовителя; размер опта и стоимость единицы товара.
Описатель розничного товара содержит: наименование товара и его количество на складе; наименование фирмы и страны – изготовителя; стоимость единицы товар и торговая надбавка в % на стоимость товара (розничный товар отпускается со склада с учетом торговой надбавки).
Каждый товар имеет уникальную характеристику – шифр товара. Информация обо всех товарах сведена в таблицу, каждый элемент которой содержит шифр товара и указатель на его описатель. Элементы таблицы упорядочены по возрастанию значений шифра товара.
Обеспечить выполнение следующих операций.
-
Для таблицы:
-
включить новый элемент, не нарушая упорядоченности;
-
найти элемент по заданному шифру;
-
удалить элемент, заданный шифром;
-
показать содержимое таблицы.
-
-
Для любого товара:
-
вывести информацию о товаре;
-
определить (вернуть в качестве результата) тип товара;
-
вернуть количество товара на складе.
-
-
Для оптового товара:
-
оформить продажу товара (указывается количество оптовых партий, результатом является стоимость продажи);
-
добавить товар на склад (указывается количество дополнительных оптовых партий);
-
изменить стоимость товара; изменить размер опта;
-
перевести товар в розницу.
-
-
Для розничного товара:
-
оформить продажу товара (указывается количество товара; результатом является стоимость продажи);
-
добавление товара на склад (указывается количество дополнительно поступившего товара);
-
изменение стоимости товара; изменение торговой надбавки;
-
перевод товара в опт (указывается предполагаемый размер опта).
-
-
Для приложения:
-
оформить поступление нового товара (оптового или розничного; если такого товара на складе нет, создается новая запись в таблице; если есть, элемент модифицируется);
-
оформить продажу товара;
-
получить отчёт обо всех товарах, имеющихся на складе;
-
(*) вывести информацию о товарах, отсутствующих на складе, используя класс-итератор.
-
Порядок выполнения работы
-
На основе описания задачи определить состав классов.
-
Разработать иерархию классов и схему их взаимодействия.
-
Для каждого класса определить его состояние и необходимые методы.
-
Разработать и отладить все классы. Приложение реализовать в виде простой диалоговой программы.
-
(*) Разработать и отладить класс, реализующий работу приложения. Предусмотреть в классе возможность сохранения таблицы в файле и ее восстановления.
-
(*) Разработать и отладить класс-итератор, с помощью которого реализовать дополнительные операции.
Примечание: пункты задания, отмеченные (*), являются дополнительными.