001: #include <iostream> 002: #include <iomanip> 003: #include <string> 005: using namespace std; 006: 007: #include "ccc_time.h" 008: 009: class Clock { 011: public: 012: /** 013: Constructs a clock that can tell the local time. 014: @param use_military true if the clock uses military format 015: */ 016: Clock(bool use_military); 018: /** 019: Gets the location of this clock. 020: @return the location 021: */ 022: string get_location() const; 024: /** 025: Gets the hours of this clock. 026: @return the hours, in military or am/pm format 027: */ 028: int get_hours() const; 030: /** 031: Gets the minutes of this clock. 032: @return the minutes 033: */ 034: int get_minutes() const; 036: /** 037: Checks whether this clock uses miltary format. 038: @return true if miltary format 039: */ 040: bool is_military() const; 041: private: 042: bool military; 043: }; 044: 045: Clock::Clock(bool use_military) 046: { military = use_military; } 049: 050: string Clock::get_location() const 051: { return "Local"; } 054: 055: int Clock::get_hours() const 056: { Time now; 058: int hours = now.get_hours(); 059: if (military) return hours; 060: if (hours == 0) return 12; 062: else if (hours > 12) return hours - 12; 064: else return hours; 066: } 067: 068: int Clock::get_minutes() const 069: { Time now; 071: return now.get_minutes(); 072: } 073: 074: bool Clock::is_military() const 075: { return military; } 078: 079: int main() 080: { Clock clock1(true); 082: Clock clock2(false); 083: 084: bool more = true; 085: while (more) 086: { cout << "Military time: " 088: << clock1.get_hours() << ":" 089: << setw(2) << setfill('0')
090: << clock1.get_minutes()
091: << setfill(' ') << "\n"; 092: cout << "am/pm time: " 093: << clock2.get_hours() << ":" 094: << setw(2) << setfill('0')
095: << clock2.get_minutes()
096: << setfill(' ') << "\n"; 097: 098: cout << "Try again? (y/n) "; 099: string input; 100: getline(cin, input); 101: if (input != "y") more = false; 102: } 103: return 0; 104: }