1: // Filename: TIME1.CPP
2: // Purpose: Implementation file correponding to TIME1.H.
4: #include <iostream>
5: using namespace std;
8: #include "TIME1.H"
11: // Private data members of the Time class:
12: // int hours;
13: // int minutes;
14: // int seconds;
17: //******************************************************************
18: void Time::Set(/* in */ int hoursNew,
19: /* in */ int minutesNew,
20: /* in */ int secondsNew)
21: // Pre: 0 <= hoursNew <= 23
22: // 0 <= minutesNew <= 59
23: // 0 <= secondsNew <= 59
24: // Post: Time is set according to the incoming parameters.
25: // Note that this function MUST have been called prior to
26: // any call to *any* of the other member functions.
27: {
28: hours = hoursNew;
29: minutes = minutesNew;
30: seconds = secondsNew;
31: }
35: //******************************************************************
36: void Time::Increment()
37: // Pre: The Set function has been called at least once.
38: // Post: Time has been advanced by one second, with
39: // 23:59:59 wrapping around to 00:00:00.
40: {
41: seconds++;
42: if (seconds > 59)
43: {
44: seconds = 0;
45: minutes++;
46: if (minutes > 59)
47: {
48: minutes = 0;
49: hours++;
50: if (hours > 23)
51: hours = 0;
52: }
53: }
54: }
58: //******************************************************************
59: void Time::Display() const
60: // Pre: The Set function has been called at least once.
61: // Post: Time has been output in the form HH:MM:SS.
62: {
63: if (hours < 10)
64: cout << '0';
65: cout << hours << ':';
66: if (minutes < 10)
67: cout << '0';
68: cout << minutes << ':';
69: if (seconds < 10)
70: cout << '0';
71: cout << seconds;
72: }