/* * Time.cpp * T11-files */ #include #include "Time.h" using namespace std; void Time::print () const { cout << hour << ":" << minute << ":" << second << endl; } void Time::increment (double secs) { second += secs; while (second >= 60.0) { second -= 60.0; minute += 1; } // now second < 60 while (minute >= 60) { minute -= 60.0; hour += 1; } // now minute < 60 and second < 60 } bool Time::after (const Time& time2) const { if (hour > time2.hour) return true; if (hour < time2.hour) return false; // now we know the hours are equal if (minute > time2.minute) return true; if (minute < time2.minute) return false; // now we know the minutes and the hours are equal if (second > time2.second) return true; return false; } double Time::convertToSeconds () const { int minutes = hour * 60 + minute; double seconds = minutes * 60 + second; return seconds; } Time::Time (double secs) { hour = int (secs / 3600.0); secs -= hour * 3600.0; minute = int (secs / 60.0); secs -= minute * 60.0; second = secs; } Time::Time (int h, int m, double s) { hour = h; minute = m; second = s; } Time::Time () { hour = minute = 0; second = 0.0; } Time Time::add (const Time& t2) const { double seconds = convertToSeconds () + t2.convertToSeconds (); Time time (seconds); return time; }