mytime2.cpp 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. // mytime2.cpp -- implementing Time methods
  2. #include <iostream>
  3. #include "mytime2.h"
  4. Time::Time()
  5. {
  6. hours = minutes = 0;
  7. }
  8. Time::Time(int h, int m )
  9. {
  10. hours = h;
  11. minutes = m;
  12. }
  13. void Time::AddMin(int m)
  14. {
  15. minutes += m;
  16. hours += minutes / 60;
  17. minutes %= 60;
  18. }
  19. void Time::AddHr(int h)
  20. {
  21. hours += h;
  22. }
  23. void Time::Reset(int h, int m)
  24. {
  25. hours = h;
  26. minutes = m;
  27. }
  28. Time Time::operator+(const Time & t) const
  29. {
  30. Time sum;
  31. sum.minutes = minutes + t.minutes;
  32. sum.hours = hours + t.hours + sum.minutes / 60;
  33. sum.minutes %= 60;
  34. return sum;
  35. }
  36. Time Time::operator-(const Time & t) const
  37. {
  38. Time diff;
  39. int tot1, tot2;
  40. tot1 = t.minutes + 60 * t.hours;
  41. tot2 = minutes + 60 * hours;
  42. diff.minutes = (tot2 - tot1) % 60;
  43. diff.hours = (tot2 - tot1) / 60;
  44. return diff;
  45. }
  46. Time Time::operator*(double mult) const
  47. {
  48. Time result;
  49. long totalminutes = hours * mult * 60 + minutes * mult;
  50. result.hours = totalminutes / 60;
  51. result.minutes = totalminutes % 60;
  52. return result;
  53. }
  54. void Time::Show() const
  55. {
  56. std::cout << hours << " hours, " << minutes << " minutes";
  57. }