-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtime.cpp
54 lines (47 loc) · 1.09 KB
/
time.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
// time.cpp, Maggie Johnson
// Description: A simple time class.
#include <iostream>
using namespace std;
class Time {
private:
int hours_;
int minutes_;
int seconds_;
public:
void set(int h, int m, int s) {hours_ = h; minutes_ = m; seconds_ = s; return;}
void increment();
void decrement();
void display();
};
void Time::increment() {
seconds_++;
minutes_ += seconds_/60;
hours_ += minutes_/60;
seconds_ %= 60;
minutes_ %= 60;
hours_ %= 24;
return;
}
void Time::decrement() {
(seconds_ == 0)?seconds_ =59:seconds_--;
(seconds_ == 59)?(minutes_ == 0?minutes_ =59:minutes_--):minutes_ +=0;
(minutes_ == 59)?(hours_ == 0?hours_ =23:hours_--):hours_+=0;
return;
return;
}
void Time::display() {
cout << (hours_ % 12 ? hours_ % 12:12) << ':'
<< (minutes_ < 10 ? "0" :"") << minutes_ << ':'
<< (seconds_ < 10 ? "0" :"") << seconds_
<< (hours_ < 12 ? " AM" : " PM") << endl;
}
int main() {
Time timer;
//timer.set(23,59,58);
timer.set(00,00,03);
for (int i = 0; i < 5; i++) {
timer.decrement();
timer.display();
cout << endl;
}
}