Website Summary Files Commits Branches @commit @diff @stats
diff options
context:
space:
mode:
1 files changed, 35 insertions, 0 deletions
-rw-r--r--Sem. 11/README.md35
diff --git a/Sem. 11/README.md b/Sem. 11/README.md
index b7a61ae..a6eeda4 100644
--- a/Sem. 11/README.md
+++ b/Sem. 11/README.md
@@ -177,3 +177,38 @@ B& B::operator=(const B& other)
```
Разписваме копирането и триенето само ако наследникът ползва необработена динамична памет! Ако няма, то генерираните от компилатора (по горната схема) работят коректно!
+
+ **Задача 1:**
+Реализирайте класов бар, в който се продават нормални напитки и алкохолни напитки. Трябва да имате функции за зареждане на напитки от бара и взимане на напитка от бара.
+При зареждането се посочва и броят на артикулите, които се зареждат. Ако не се каже брой - зарежда се 1 артикул.
+
+При взимането на напитка от бара: Избира се тип (нормална или алкохолна) и се връща най-отдавна заредената в бара.
+Във всеки момент трябва да могат да се взимат статистика за бара - брой продадени артикула oт всеки тип и сумарно продадени мл.
+
+**Напитката** има име (низ с произволна дължина, само от латински символи, в който първият символ е главен), количество (в мл [200, 1000]), а **алкохолната напитка** има *име (низ с произволна дължина, само от латински символи, в който първият символ е главен), количество (в мл [200, 1000]) и процент алкохол [5, 98]*.
+
+Примерен интерфейс:
+ ```c++
+
+int main()
+{
+ Bar b;
+
+ b.addDrink("Coke", 330, 2); //2x Coca cola 330 ml
+
+ b.addDrink("Fanta", 500); //1x Fanta 500 ml
+
+ b.addAlocoholDrink("Zagorka", 500, 5); //1x Zagorka, 5% alc, 500 ml
+
+ b.getAcloholDrink(); // Zagorka
+
+ b.getDrink() // Coke
+ b.getDrink() // Coke
+ b.getDrink() // Fanta
+
+ b.getAlocholDrinksSold(); // 1
+ b.getDrinksMlSold(); // 830
+
+}
+ ```
+