Задачи - ООП, Седмица 15, 30.05.2024
GitHub classroom: classroom.github.com/a/z2QadyEE
Задача
#В тази задача се оставя голямо количество свобода на имплементация, за всяко нещо сами преценете типове, помощни класове/член функции, оператори и так. нат. Както винаги, реализирайте голяма петица където е нужно.
Препоръчително е първо да изчетете цялото условие и след това да пишете код.
Реализирайте система за чат. В нея имаме съобщения, като едно съобщение може да бъде:
- текст, като низ
- локация, като съвкупност от държава, град, област (число), улица и номер на улица
- линк (хипервръзка) като текст и (уеб) адрес
- време: дата и час
Всеки тип трябва да имплементира Print
член-функция, която изкарва текстово съдържание на съобщението.
За текстово съобщение това е самия текст, за локация това е низ във формата “[ДЪРЖАВА] ГРАД(ОБЛАСТ) УЛИЦА NoНОМЕР НА УЛИЦА”, за линк е самия текст и за време е “ЧАС:МИНУТИ ДЕН.МЕСЕЦ.ГОДИНА”.
Реализирайте потребители, като за всеки потребител имаме потребителско име и парола.
Реализирайте чатруум, който съхранява записани потребители в групата, съобщения и съответните потребителски имена на авторите. Един потребител може да се добави в чатруум, да създава нови съобщения и може да излезе, като един излязъл потребител може да вижда историята на чата до момента в който е излязъл. Ако обратно бъде вкаран, тогава пак може да вижда всички съобщения от историята и да създава нови.
Всеки потребител може да създаде чатруум и да запише хора в него (по потребителски имена), и може да излезе. Допълнително собственика на чатруум може да изтрие самия чатруум и да премахва хора. Ако собственикът се отпише тогава новият собственик е следващия по ред записан потребител.
Реализирайте “платформа” в която се съхраняват всички чатове и потребители, от която също се създават потребители.
Имплементирайте конзолен интерфейс, от който може да създадете потребител, да влезете в акаунта на потребител, след като сте влезли да разглеждате всички налични чатове. Ако сте член на даден чат да създавате ново съобщение и да излезете. Ако сте собственик да изтриете чат и да премахвате потребители от чата.