Вариант №6
Разработать модель деятельности ресторана за один рабочий день. Определить объекты модели: Смена, Официанты, Клиент (содержит клиентов, которые получают определенную скидку), Меню, Заказ и другие по вашему усмотрению:
Предусмотреть возможность добавления и удаления блюд в меню. Реализовать возможность выбора определенных официантов из списка для данной смены. Учитывать скидку клиента при предоставлении счета за заказ. Реализовать возможность формирования заказа. При разработке модели реализовать выполнение следующих задач:
Определить количество любого проданного блюда из меню?
Какова выручка ресторана за смену?
Сформировать в виде отчета информацию о сделанных заказах за смену (отчет должен содержать список блюд в заказе, количество и цену блюда, общую сумму заказа).
Определить выручку по каждому официанту за смену.
Определить среднее значение стоимости заказа за смену.
Определить самое популярное блюдо за смену.
Вариант №7
Разработать модель работы библиотечного абонемента. Создать необходимые классы.
Информационная запись о книге в библиотеке содержит следующие поля: автор, название, год издания, издательство цена.
Для моделирования учетной карточки абонента реализовать класс Subscriber, содержащий фамилию абонента, его библиотечный номер и список взятых в библиотеке книг. Один элемент списка содержит информационную запись о книге, дату выдачи, требуемую дату возврата и признак возврата. База данных книг и абонентов должна содержать не менее 20 элементов.
Реализовать методы добавления в список и удаления книг из него; метод поиска книг, подлежащих возврату; метод поиска по автору, издательству и году издания; метод вычисления стоимости всех подлежащих возврату книг; сформировать список должников.
Вариант №8
Спроектировать иерархию классов для описания деятельности авиакассы за один день. Описать следующие классы:
Рейс, Пассажир, Самолет, Пилоты, Билет и другие необходимые классы.
База рейсов должна содержать не менее 20 позиций.
Смоделировать процесс заказа билетов: перед началом работы необходимо составить расписание авиа вылетов, для формирования рейса мы должны выбрать пилота и самолет. Время вылета и количество мест в самолете определяется случайным образом в определенных пределах.
Предусмотреть возможность добавления, удаления и поиска необходимого рейса (например, по дате вылета или городу прибытия) по запросу пассажира, учитывать, что количество мест в самолете ограниченно.
Предусмотреть возможность заказа билета, цена которого рассчитывается в зависимости от выбранного класса.
Определить количество проданных билетов по данному направлению.
Определить наиболее популярный рейс.
Определить прибыль от продажи билетов за день.
Вариант №9
Нагрузка преподавателя за учебный год представляет собой список наименований дисциплин, которые он ведет. Информация о каждой дисциплины: название, семестр проведения, общее количество часов, количество аудиторных часов, вид контроля (зачет или экзамен), количество студентов.
Реализовать шаблон класса WorkТeacher (с параметром, количество дисциплин), моделирующий бланк назначенной преподавателю нагрузки, производный от класса Discipline. Класс содержит фамилию преподавателя, список преподаваемых дисциплин, объем полной нагрузки в часах по каждой дисциплине, который вычисляется как сумма числа аудиторных часов и К*КС, где КС - количество студентов, К-часовой коэффициент, равный 0,35 при форме контроля «зачет» или 0,5, в случае экзамена.
Реализовать базу данных дисциплин (не менее 10), добавление и удаление дисциплин; вычисление суммарной нагрузки по дисциплине.
Реализовать базу данных «нагрузка» (не менее 10 преподавателей), каждый преподаватель ведет не более 8 дисциплин.
Выдать отчет по нагрузке каждого преподавателя, преподавателей с наименьшей и наибольшей нагрузкой.
Программа должна сортировать баз данных по дисциплине, Ф.И.О. и по объему часов.
