diff options
sem 12
1 files changed, 36 insertions, 0 deletions
| -rw-r--r-- | Sem. 12/task1/Bar/Bar.h | 36 |
diff --git a/Sem. 12/task1/Bar/Bar.h b/Sem. 12/task1/Bar/Bar.h new file mode 100644 index 0000000..8a1750a --- /dev/null +++ b/Sem. 12/task1/Bar/Bar.h @@ -0,0 +1,36 @@ +#pragma once +#include <iostream> +#include "../Drinks/AlcoholDrink.h" +#include "../Queue/Queue.hpp" + + + +class Bar +{ + struct Statistics + { + size_t mlSold = 0; + size_t allDrinksSold = 0; + size_t alcoholDrinksSold = 0; + }; + +private: + Queue<Drink> drinks; + Queue<AlcoholDrink> alcoholDrinks; + + Statistics stats; + + void incrementStatistics(const Drink& dr, bool isAlcoholDrink = false); + +public: + + void addDrink(const char* name, int ml); + void addAlocoholDrink(const char* name, int ml, int alcohol); + + Drink getDrink(); + AlcoholDrink getAcloholDrink(); + + size_t getMlSold(); + size_t getAllDrinksSold(); + size_t getAlcoholDrinksSold(); +};
\ No newline at end of file |
