Предоставление результатов преподавателю

  • Исходный код должен быть загружен в архиве на сайт https://moodle.uniyar.ac.ru/ в качестве ответа на задание «Пересдача №3 2019 ИТ-4». Срок сдачи - 20:00 8 апреля 2020 года.
  • Архив не должен быть защищён паролем.
  • Работа кода должна быть продемонстрирована студентом со своего компьютера на телеконференции Zoom в 9:00 9 апреля 2020 года.
  • Работы должны быть выполнены студентами самостоятельно.
  • Студенты должны быть готовы к модификации кода по требованию преподавателя.

Задача

Разработать консольное приложение, позволяющее пользователям вести журнал выполненных дел. Выполненное дело описывается следующими полями:

  • Дата начала дела. Дата — это строка в формате ГГГГ-ММ-ДД, например «2020-04-06».
  • Дата завершения дела. Дата — это строка в формате ГГГГ-ММ-ДД, например «2020-01-15». Дата завершения должна быть позже даты начала.
  • Название задачи. Непустая строка.

Приложение должно позволять выполнять следующие действия:

  • Добавление новой задачи в список завершённых дел.
  • Удаление задачи из списка.
  • Просмотр всех завершённых дел по очереди добавления. При выводе дела необходимо показать пользователю:
    • Дату начала и окончания.
    • Продолжительность в днях.
    • Название задачи.
  • Просмотр завершённых дел по дням. Внутри дня сортировка дел произвольная.
  • Просмотр завершённых задач по, отсортированных по продолжительности задачи в днях.

Приложение должно сохранять данные между перезапусками в файле. При старте файла пользователю должны быть доступны данные, введённые в предыдущие

Требования к реализации

  • Необходимо использовать ООП при реализации приложения. Необходимо сформировать классы предметной области.
  • Для записи и чтения данных из файлов необходимо использовать библиотеки, а не низкоуровневое взаимодействие на уровне строк.