-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathclockType.cpp
117 lines (111 loc) · 1.88 KB
/
clockType.cpp
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#include <iostream>
using namespace std;
class ClockType
{
int sec, min, hr;
public:
void setTime(int, int, int);
void getTime(int &, int &, int &) const;
void printTime();
void incrementHours();
void incrementMinutes();
void incrementSeconds();
void testTime(const Clocktype &otherClock);
bool equalTime(const ClockType) const;
};
void Clocktype::setTime(int hours, int minutes, int seconds)
{
if (0 <= hours && hours <= 24)
{
hr = hours
}
else
{
hr = 0
}
if (0 <= minutes && minutes <= 60)
{
min = minutes;
}
else
{
min = 0;
}
if (0 <= seconds && seconds < 60)
{
sec = secconds;
}
else
{
sec = 0;
}
}
void Clocktype ::getTime(int &hours, int &minutes, int &seconds) const
{
hours = hr;
minutes = min;
seconds = sec;
}
void ClockType ::printTime() const
{
if (hours < 10)
{
cout << 0;
cout << hr << ":";
}
if (minutes < 10)
{
cout << 0;
cout << min << ":";
}
if (seconds < 10)
{
cout << 0;
cout << sec;
}
}
void Clocktype ::incrementHours()
{
hr++;
if (hr > 23)
{
hr=0;
}
}
void Clocktype ::incrementMinutes()
{
min++;
if (min > 59)
{
min=0;
incrementHours();
}
}
void Clocktype ::incrementSeconds()
{
sec++;
if (sec > 59)
{
sec=0;
incrementMinutes();
}
}
bool ClockType ::equalTime(const ClockType) const
{
return(
hr == otherClock.hr
&& min == otherClock.min
&& sec == otherClock.sec
);
}
int main()
{
int hours,minutes,seconds;
ClockType myClock;
ClockType yourClock;
myClock.setTime(5, 20, 37);
myClock.printTime();
yourClock.setTime(x, y, z);
if (myClock.equalTime(yourClock))
return 0;
}