blob: 4bb921f9e39be16e70d95309332e412d555ec94c (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
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);
}
|