Skip to content
This repository was archived by the owner on Feb 19, 2025. It is now read-only.

ivanov1234159/Calendar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

151 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект 15: Личен календар

Може да видите документацията на кода, генерирана от DoxyGen тук

Автор: Веселин Иванов

Описанире на проекта

Да се напише програма, реализираща информационна система, която поддържа личен календар, като го записва във файл.

След като приложението отвори даден файл, то трябва да може да извършва посочените по-долу операции, в допълнение на общите операции (open, close, save, save as, help и exit):

book

Запазва час за среща с име и коментар на дата с начален час и краен час .

unbook

Отменя час за среща на дата с начален час и краен час .

agenda

Извежда хронологичен списък с всички ангажименти за деня .

change

е едно от date, starttime, enddate, name, note. Задава нова стойност на събитието на дата с начален час , като при промяна на дата и час се прави проверка дали са коректни и свободни.

find

Търсене на среща: извеждат се данните за всички срещи, в чието име или бележка се съдържа низът .

holiday

Датата се отбелязва като неработна.

busydays

Извеждане на статистика за натовареност: по дадени начална дата и крайна дата се извежда списък с дните от седмицата, подредени по критерия “брой заети часове”.

findslot

Намиране на свободно място за среща: по дадена дата и желана продължителност на срещата търси дата, на която е възможно да се запази такава среща, но само в работни дни и не преди 8 часа или след 17 часа.

findslotwith

Намиране на свободно място за среща, синхронизирана с даден календар: по дадена дата и желана продължителност на срещата търси дата, на която е възможно да се запази такава среща в текущия календар и в календара, записан във файл , но само в работни дни и не преди 8 часа или след 17 часа.

merge

Прехвърля всички събития от календара, записан във файл , в текущия календар. Прехвърлянето да става в диалогов режим така, че ако има конфликт на събития потребителят да има възможност да избере кое събитие да остане и кое да се премести в друг ден и час.

Пример:

потребителят се е записал на спорт и е получил файл, който съдържа календар с всички тренировки и спортни събития. Той иска да прехвърли всички спортни събития в календара си.

Бонуси:

командите findslotwith и merge да поддържат повече от един календар.

Външни източници

  • doctest - за тестването на проекта (програмата)

About

ООП - 2019/2020 - ФМИ, СУ

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages