1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
# Задачи - ООП, Седмица 15, 30.05.2024
\n
GitHub classroom: [url https://classroom.github.com/a/z2QadyEE classroom.github.com/a/z2QadyEE]
## Задача
В тази задача се оставя голямо количество свобода на имплементация, за всяко нещо сами преценете типове, помощни класове/член функции, оператори и так. нат.
Както винаги, реализирайте голяма петица където е нужно.
Препоръчително е първо да изчетете цялото условие и след това да пишете код.
Реализирайте система за чат.
В нея имаме съобщения, като едно съобщение може да бъде:
.bulleted
- текст, като низ
- локация, като съвкупност от държава, град, област (число), улица и номер на улица
- линк (хипервръзка) като текст и (уеб) адрес
- време: дата и час
Всеки тип трябва да имплементира [`Print`] член-функция, която изкарва текстово съдържание на съобщението.
За текстово съобщение това е самия текст, за локация това е низ във формата "[ДЪРЖАВА] ГРАД(ОБЛАСТ) УЛИЦА NoНОМЕР НА УЛИЦА", за линк е самия текст и за време е "ЧАС:МИНУТИ ДЕН.МЕСЕЦ.ГОДИНА".
Реализирайте потребители, като за всеки потребител имаме потребителско име и парола.
Реализирайте чатруум, който съхранява записани потребители в групата, съобщения и съответните потребителски имена на авторите.
Един потребител може да се добави в чатруум, да създава нови съобщения и може да излезе, като един излязъл потребител може да вижда историята на чата до момента в който е излязъл.
Ако обратно бъде вкаран, тогава пак може да вижда всички съобщения от историята и да създава нови.
Всеки потребител може да създаде чатруум и да запише хора в него (по потребителски имена), и може да излезе.
Допълнително собственика на чатруум може да изтрие самия чатруум и да премахва хора.
Ако собственикът се отпише тогава новият собственик е следващия по ред записан потребител.
Реализирайте "платформа" в която се съхраняват всички чатове и потребители, от която също се създават потребители.
Имплементирайте конзолен интерфейс, от който може да създадете потребител, да влезете в акаунта на потребител, след като сте влезли да разглеждате всички налични чатове.
Ако сте член на даден чат да създавате ново съобщение и да излезете.
Ако сте собственик да изтриете чат и да премахвате потребители от чата.
|