1: /************************************************************************ 2: * CS415 Assignment 11G - Time.C 3: * Programmed by 4: * Dan Noe 5: * Steve Anderson 6: * Nick Wawyrzinski 7: * 8: * This class defines a time value based on days, hours, and minutes. 9: * Input and output is in the form days:hours:minutes -- sourced from the 10: * supplied definition Time.h 11: ************************************************************************/ 12: 13: #include <iostream> 14: #include "Time.h" 15: 16: using namespace std; 17: 18: // Default no-arg construction initializes to 0 days, 0 hours, 0 minutes. 19: 20: Time::Time() { 21: days = 0; 22: hours = 0; 23: minutes = 0; 24: } 25: 26: // Construct given specific days, hours, minutes arguments 27: 28: Time::Time(int dys, int hrs, int min) { 29: days = dys; 30: hours = hrs; 31: minutes = min; 32: } 33: 34: // Input a time from stdin into this object. 35: 36: void Time::input() { 37: char dummy; // throwaway value absorbs :'s 38: 39: cin >> days >> dummy >> hours >> dummy >> minutes; 40: } 41: 42: // Output a time value, padded correctly with zeroes, to stdout 43: 44: void Time::output() const { 45: // This is a really ugly hack. A cleaner solution would be to include 46: // <iomanip> and use the setw manipulator, but we have not learned this 47: // yet... -dpn 48: 49: cout << days << ':'; 50: 51: if (hours < 10) { 52: cout << '0'; 53: } 54: 55: cout << hours << ':'; 56: 57: if (minutes < 10) { 58: cout << '0'; 59: } 60: 61: cout << minutes; 62: } 63: 64: // Add a time to our time object. 65: 66: Time Time::add(Time v) const { 67: int days,hours,minutes; // variables used to construct a new Time object 68: 69: // We convert everything by breaking it down into minutes then building it 70: // back up. 71: 72: 73: minutes = ((*this).minutes + (*this).hours * 60 + (*this).days * 1440); 74: 75: minutes = minutes + (v.minutes + v.hours * 60 + v.days * 1440); 76: 77: days = minutes/1440; 78: hours = (minutes - days * 1440)/60; 79: minutes = minutes % 60; 80: 81: return Time(days,hours,minutes); 82: } 83:
| w | e | b | c | p | p |
|
| |||||