From be9dc71f94c40127657723e2881b9929c297a736 Mon Sep 17 00:00:00 2001 From: angeld55 Date: Fri, 14 May 2021 14:21:20 +0300 Subject: sem 12 --- Sem. 12/task1/Bar/Bar.cpp | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 Sem. 12/task1/Bar/Bar.cpp (limited to 'Sem. 12/task1/Bar/Bar.cpp') diff --git a/Sem. 12/task1/Bar/Bar.cpp b/Sem. 12/task1/Bar/Bar.cpp new file mode 100644 index 0000000..e702d15 --- /dev/null +++ b/Sem. 12/task1/Bar/Bar.cpp @@ -0,0 +1,45 @@ +#include "Bar.h" + +void Bar::addDrink(const char* name, int ml) +{ + drinks.enqueue(Drink(name, ml)); +} +void Bar::addAlocoholDrink(const char* name, int ml, int alcohol) +{ + alcoholDrinks.enqueue(AlcoholDrink(name, ml, alcohol)); +} + +Drink Bar::getDrink() +{ + Drink d = drinks.dequeue(); + incrementStatistics(d); + return d; +} +AlcoholDrink Bar::getAcloholDrink() +{ + AlcoholDrink d = alcoholDrinks.dequeue(); + incrementStatistics(d, true); + return d; +} + +void Bar::incrementStatistics(const Drink& dr, bool isAlcoholDrink) +{ + stats.mlSold += dr.getMl(); + stats.allDrinksSold++; + + if (isAlcoholDrink) + stats.alcoholDrinksSold++; +} + +size_t Bar::getMlSold() +{ + return stats.mlSold; +} +size_t Bar::getAllDrinksSold() +{ + return stats.allDrinksSold; +} +size_t Bar::getAlcoholDrinksSold() +{ + return stats.alcoholDrinksSold; +} \ No newline at end of file -- cgit v1.3.1-23-gd82d