Може да видите документацията на кода, генерирана от DoxyGen тук
Автор: Веселин Иванов
Да се напише програма, реализираща информационна система, която поддържа личен календар, като го записва във файл.
След като приложението отвори даден файл, то трябва да може да извършва посочените по-долу операции, в допълнение на общите операции (open, close, save, save as, help и exit):
book
Запазва час за среща с име и коментар на дата с начален час и краен час .
unbook
Отменя час за среща на дата с начален час и краен час .
agenda
Извежда хронологичен списък с всички ангажименти за деня .
е едно от date, starttime, enddate, name, note. Задава нова стойност на събитието на дата с начален час , като при промяна на дата и час се прави проверка дали са коректни и свободни.change
find
Търсене на среща: извеждат се данните за всички срещи, в чието име или бележка се съдържа низът .
holiday
Датата се отбелязва като неработна.
busydays
Извеждане на статистика за натовареност: по дадени начална дата и крайна дата се извежда списък с дните от седмицата, подредени по критерия “брой заети часове”.
findslot
Намиране на свободно място за среща: по дадена дата и желана продължителност на срещата търси дата, на която е възможно да се запази такава среща, но само в работни дни и не преди 8 часа или след 17 часа.
findslotwith
Намиране на свободно място за среща, синхронизирана с даден календар: по дадена дата и желана продължителност на срещата търси дата, на която е възможно да се запази такава среща в текущия календар и в календара, записан във файл , но само в работни дни и не преди 8 часа или след 17 часа.
merge
Прехвърля всички събития от календара, записан във файл , в текущия календар. Прехвърлянето да става в диалогов режим така, че ако има конфликт на събития потребителят да има възможност да избере кое събитие да остане и кое да се премести в друг ден и час.
Пример:
потребителят се е записал на спорт и е получил файл, който съдържа календар с всички тренировки и спортни събития. Той иска да прехвърли всички спортни събития в календара си.
командите findslotwith и merge да поддържат повече от един календар.
- doctest - за тестването на проекта (програмата)