Website Summary Files Commits Branches @commit @diff @stats
path: root / Sem. 11 / Examples / Bar / Drink / Drink.cpp
diff options
context:
space:
mode:
Commit4993c6468aa07e7c6a006a721fe82aaa4413eede (patch)
Author
 angeld55 <angel_dimitriev@abv.bg>
2022-05-17 20:42:42 +0300
Committer
 angeld55 <angel_dimitriev@abv.bg>
2022-05-17 20:42:42 +0300
Files819dc184dc1c4d23ff71bdd5d9d538b8ce32a5de /Sem. 11/Examples/Bar/Drink/Drink.cpp
Object-oriented_programming_FMI-4993c6468aa07e7c6a006a721fe82aaa4413eede.tar
Object-oriented_programming_FMI-4993c6468aa07e7c6a006a721fe82aaa4413eede.tar.gz
Object-oriented_programming_FMI-4993c6468aa07e7c6a006a721fe82aaa4413eede.zip
Parent8af74b1eeed52119ecaaf57ff6779edbc219c34b (diff)
added bar task
1 files changed, 62 insertions, 0 deletions
-rw-r--r--Sem. 11/Examples/Bar/Drink/Drink.cpp62
diff --git a/Sem. 11/Examples/Bar/Drink/Drink.cpp b/Sem. 11/Examples/Bar/Drink/Drink.cpp
new file mode 100644
index 0000000..4bb921f
--- /dev/null
+++ b/Sem. 11/Examples/Bar/Drink/Drink.cpp
@@ -0,0 +1,62 @@
+#include "Drink.h"
+
+Drink::Drink() : Drink("Unknown", 0)
+{}
+
+const MyString& Drink::getName() const
+{
+ return name;
+}
+int Drink::getMl() const
+{
+ return ml;
+}
+
+bool isLower(char ch)
+{
+ return ch >= 'a' && ch <= 'z';
+}
+
+bool areAllLowerCase(const char* str)
+{
+ while (*str)
+ {
+ if (!isLower(*str))
+ return false;
+ str++;
+ }
+ return true;
+}
+
+bool isUpper(char ch)
+{
+ return ch >= 'A' && ch <= 'Z';
+}
+
+bool isNameValid(const char* name)
+{
+ return isUpper(*name) && areAllLowerCase(name + 1);
+}
+
+void Drink::setName(const MyString& name)
+{
+ if (isNameValid(name.c_str()))
+ this->name = name;
+}
+void Drink::setMl(int ml)
+{
+ const int MAX_ML = 1000;
+ const int MIN_ML = 100;
+
+ ml = MIN_ML;
+ if (MIN_ML <= ml && ml <= MAX_ML)
+ this->ml = ml;
+
+}
+
+Drink::Drink(const MyString& name, int ml)
+{
+ setName(name);
+ setMl(ml);
+}
+