Лабораторный практикум №3
Проект DeaneryDemo
Разработать класс Student для хранения информации о студенте.
Примерный перечень полей:
- id - идентификационный номер
- fio - фамилия и инициалы
- group - ссылка на группу (объект Group)
- marks - контейнер оценок (ArrayList).
Обеспечить класс следующими методами:
- создание студента с указанием ИД и ФИО
- зачисление в группу
- добавление оценки
- вычисление средней оценки
Разработать класс Group для хранения информации об учебной группе
Примерный перечень полей:
- title - название группы
- students - массив из ссылок на студентов
- head - ссылка на старосту (из членов группы)
Обеспечить класс следующими методами:
- создание группы с указанием названия
- добавление студента
- избрание старосты
- поиск студента по ФИО или ИД
- вычисление соеднего балла в группе
- исключение студента из группы
Разработать класс Deanery
Примерный перечень полей:
- students - массив студентов
- groups - массив групп
Обеспечить класс следующими методами:
- создание студентов на основе данных из файла
- создание групп на основе данных из файла
- добавление случайных оценок студентам
- накопление статистики по успеваемости студентов и групп
- перевод студентов из группы в группу
- отчисление студентов за неуспеваемость
- сохранение обновленных данных в файлах
- инициация выборов старост в группах
- вывод данных на консоль
Создать один-два файла с данными для групп и студентов (не менее 3 групп и 30 студентов). Использовать эти файлы при формировании данных групп и студентов
Файлы текстовые, но можно использовать форматы xml или json для форматирования хранящихся данных. Также можно использовать генераторы фамилий, имеющиеся в интернете для формирования списков студентов.
Написать демонстрационную версию приложения
Демонстрационная версия программы должна представлять собой сценарий работы деканата, включающий загрузку данных из файлов, избрание старост, начисление оценок и контроль успеваемости. Результаты работы выводятся на консоль, новые списки групп - файлы.