[2:28pm] m time3.h // TIME3.H // Declaration of the Time class. // Member functions defined in TIME3.CPP // prevent multiple inclusions of header file #ifndef TIME3_H #define TIME3_H class Time { public: Time(int = 0, int = 0, int = 0); // constructor // set functions void setTime(int, int, int); // set hour, minute, second void setHour(int); // set hour void setMinute(int); // set minute void setSecond(int); // set second // get functions int getHour(); // return hour int getMinute(); // return minute int getSecond(); // return second void printMilitary(); // output military time void printStandard(); // output standard time private: int hour; // 0 - 23 int minute; // 0 - 59 int second; // 0 - 59 }; #endif --------------------------------------------------------- [2:40pm] cat time3.cpp // TIME3.CPP // Member function definitions for Time class. #include "time3.h" #include // Constructor function to initialize private data. // Calls member function setTime to set variables. // Default values are 0 (see class definition). Time::Time(int hr, int min, int sec) { setTime(hr, min, sec); } // Set the values of hour, minute, and second. void Time::setTime(int h, int m, int s) { hour = (h >= 0 && h < 24) ? h : 0; minute = (m >= 0 && m < 60) ? m : 0; second = (s >= 0 && s < 60) ? s : 0; } // Set the hour value void Time::setHour(int h) { hour = (h >= 0 && h < 24) ? h : 0; } // Set the minute value void Time::setMinute(int m) { minute = (m >= 0 && m < 60) ? m : 0; } // Set the second value void Time::setSecond(int s) { second = (s >= 0 && s < 60) ? s : 0; } // Get the hour value int Time::getHour() { return hour; } // Get the minute value int Time::getMinute() { return minute; } // Get the second value int Time::getSecond() { return second; } // Display military format time: HH:MM:SS void Time::printMilitary() { cout << (hour < 10 ? "0" : "") << hour << ":" << (minute < 10 ? "0" : "") << minute << ":" << (second < 10 ? "0" : "") << second; } // Display standard format time: HH:MM:SS AM (or PM) void Time::printStandard() { cout << ((hour == 0 || hour == 12) ? 12 : hour % 12) << ":" << (minute < 10 ? "0" : "") << minute << ":" << (second < 10 ? "0" : "") << second << (hour < 12 ? " AM" : " PM"); } --------------------------------------------------------- [2:42pm] cat fig6_10.cpp // FIG6_10.CPP // Demonstrating the Time class set and get functions #include #include "time3.h" main() { Time t; void incrementMinutes(Time &, const int); t.setHour(17); t.setMinute(34); t.setSecond(25); cout << "Result of setting all valid values:" << endl << " Hour: " << t.getHour() << " Minute: " << t.getMinute() << " Second: " << t.getSecond() << endl << endl; t.setHour(234); // invalid hour set to 0 t.setMinute(43); t.setSecond(6373); // invalid second set to 0 cout << "Result of attempting to set invalid hour and" << " second:" << endl << " Hour: " << t.getHour() << " Minute: " << t.getMinute() << " Second: " << t.getSecond() << endl << endl; t.setTime(11, 58, 0); incrementMinutes(t, 3); return 0; } void incrementMinutes(Time &tt, const int count) { cout << "Incrementing minute " << count << " times:" << endl << "Start time: "; tt.printStandard(); for (int i = 1; i <= count; i++) { tt.setMinute((tt.getMinute() + 1) % 60); if (tt.getMinute() == 0) tt.setHour((tt.getHour() + 1) % 24); cout << endl << "minute + 1: "; tt.printStandard(); } cout << endl; } --------------------------------------------------------- [2:43pm] CC fig6_10.cpp time3.cpp fig6_10.cpp: time3.cpp: [2:43pm] a.out Result of setting all valid values: Hour: 17 Minute: 34 Second: 25 Result of attempting to set invalid hour and second: Hour: 0 Minute: 43 Second: 0 Incrementing minute 3 times: Start time: 11:58:00 AM minute + 1: 11:59:00 AM minute + 1: 12:00:00 PM minute + 1: 12:01:00 PM