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