Summary Files Commits Branches @commit @diff @stats
path: root / src
diff options
context:
space:
mode:
Commitceba15fcc704aaac81071de6ac37443c63259443 (patch)
Author
 Syndamia <kamen@syndamia.com>
2024-05-29 15:57:19 +0300
Committer
 Syndamia <kamen@syndamia.com>
2024-05-29 15:57:19 +0300
Files3960b86653a871d970b8095bafb3ffa69bcadd2c /src
syndamia.com-ceba15fcc704aaac81071de6ac37443c63259443.tar
syndamia.com-ceba15fcc704aaac81071de6ac37443c63259443.tar.gz
syndamia.com-ceba15fcc704aaac81071de6ac37443c63259443.zip
Parenteb5fd14e0bc7b77676d0cba4fcc38f1c9cfa91b7 (diff)
[te/oop-2023/w15] Added exercise and gh classroom link
2 files changed, 38 insertions, 0 deletions
-rw-r--r--src/teaching/oop-2023/index.md1
-rw-r--r--src/teaching/oop-2023/week15/index.md37
diff --git a/src/teaching/oop-2023/index.md b/src/teaching/oop-2023/index.md
index 74d7694..ceef700 100644
--- a/src/teaching/oop-2023/index.md
+++ b/src/teaching/oop-2023/index.md
@@ -28,3 +28,4 @@
|12|09.05.2024|[Задачи](./week12/) \|\| [Решения](https://github.com/Syndamia/oop-2023-solutions/tree/main/week12) \|\| [GitHub classroom](https://classroom.github.com/a/o7hNz1pr)|
|13|16.05.2024|[Задачи](./week13/) \|\| [Решения](https://github.com/Syndamia/oop-2023-solutions/tree/main/week13) \|\| [GitHub classroom](https://classroom.github.com/a/GvV1wrC1)|
|14|23.05.2024|[Задачи](./week14/) <!-- \|\| [Решения](https://github.com/Syndamia/oop-2023-solutions/tree/main/week12) --> \|\| [GitHub classroom](https://classroom.github.com/a/K0XomKEP)|
+|15|30.05.2024|[Задачи](./week15/) <!-- \|\| [Решения](https://github.com/Syndamia/oop-2023-solutions/tree/main/week12) --> \|\| [GitHub classroom](https://classroom.github.com/a/z2QadyEE)|
diff --git a/src/teaching/oop-2023/week15/index.md b/src/teaching/oop-2023/week15/index.md
new file mode 100644
index 0000000..6719bf0
--- /dev/null
+++ b/src/teaching/oop-2023/week15/index.md
@@ -0,0 +1,37 @@
+# Задачи - ООП, Седмица 15, 30.05.2024
+
+GitHub classroom: [classroom.github.com/a/z2QadyEE](https://classroom.github.com/a/z2QadyEE)
+
+## Задача
+
+В тази задача се оставя голямо количество свобода на имплементация, за всяко нещо сами преценете типове, помощни класове/член функции, оператори и так. нат.
+Както винаги, реализирайте голяма петица където е нужно.
+
+Препоръчително е първо да изчетете цялото условие и след това да пишете код.
+
+Реализирайте система за чат.
+В нея имаме съобщения, като едно съобщение може да бъде:
+
+- текст, като низ
+- локация, като съвкупност от държава, град, област (число), улица и номер на улица
+- линк (хипервръзка) като текст и (уеб) адрес
+- време: дата и час
+
+Всеки тип трябва да имплементира `Print` член-функция, която изкарва текстово съдържание на съобщението.
+За текстово съобщение това е самия текст, за локация това е низ във формата "[ДЪРЖАВА] ГРАД(ОБЛАСТ) УЛИЦА NoНОМЕР НА УЛИЦА", за линк е самия текст и за време е "ЧАС:МИНУТИ ДЕН.МЕСЕЦ.ГОДИНА".
+
+Реализирайте потребители, като за всеки потребител имаме потребителско име и парола.
+
+Реализирайте чатруум, който съхранява записани потребители в групата, съобщения и съответните потребителски имена на авторите.
+Един потребител може да се добави в чатруум, да създава нови съобщения и може да излезе, като един излязъл потребител може да вижда историята на чата до момента в който е излязъл.
+Ако обратно бъде вкаран, тогава пак може да вижда всички съобщения от историята и да създава нови.
+
+Всеки потребител може да създаде чатруум и да запише хора в него (по потребителски имена), и може да излезе.
+Допълнително собственика на чатруум може да изтрие самия чатруум и да премахва хора.
+Ако собственикът се отпише тогава новият собственик е следващия по ред записан потребител.
+
+Реализирайте "платформа" в която се съхраняват всички чатове и потребители, от която също се създават потребители.
+
+Имплементирайте конзолен интерфейс, от който може да създадете потребител, да влезете в акаунта на потребител, след като сте влезли да разглеждате всички налични чатове.
+Ако сте член на даден чат да създавате ново съобщение и да излезете.
+Ако сте собственик да изтриете чат и да премахвате потребители от чата.