Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- void advance(int& timeHr, int& timeMin, int minutes); //by minutes
- void advance(int& timeHr, int& timeMin, int hours, int minutes); //by hours and minutes
- void advance(int& timeHr, int& timeMin, double hours); //by hours
- void outputTime(int timeHr, int timeMin);
- int main()
- {
- int timeHour, timeMinute, howAdvance, hours, minutes;
- double hoursNfrac;
- cout<<"Enter time (hour and minute) as two integers seperated by a space \n : ";
- cin>>timeHour>>timeMinute;
- cout<<"Time entered is ";
- outputTime(timeHour,timeMinute);
- cout<<endl;
- cout<<"Choose how you would like to advance clock \n"<<"(1) By minutes \n(2) By hours and minutes \n(3) by hours \n :";
- cin>>howAdvance;
- switch(howAdvance)
- {
- case 1:
- cout<<"Enter minutes : ";
- cin>>minutes;
- advance(timeHour,timeMinute,minutes);
- break;
- case 2:
- cout<<"Enter hours and minutes, seperated by a space : ";
- cin>>hours>>minutes;
- advance(timeHour,timeMinute,hours,minutes);
- break;
- case 3:
- cout<<"Enter hours : ";
- cin>>hoursNfrac;
- advance(timeHour,timeMinute,hoursNfrac);
- break;
- default:
- cout<<"Invalid choice \n";
- }
- cout<<"Updated time : ";
- outputTime(timeHour,timeMinute);
- cout<<endl;
- return 0;
- }
- //
- //Advance time by minutes
- //
- void advance (int& timeHr,int& timeMin,int minutes)
- {
- int extraHrs=(timeMin+minutes)/60;
- timeMin=(timeMin+minutes)%60;
- timeHr=(timeHr+extraHrs)%24;
- }
- //
- //Advance time by hours and minutes
- //
- void advance(int& timeHr,int& timeMin,int hours, int minutes)
- {
- advance(timeHr,timeMin,hours*60 + minutes);
- }
- //
- //Advance time by hours (including,possibility,fractions of hours)
- //
- void advance(int& timeHr,int& timeMin, double hours)
- {
- int mins=int(hours*60 + 0.5);
- advance(timeHr,timeMin,mins);
- }
- //
- //Display time as two integers separated by a colon
- //Insert a leading zero when the minutes value is less than 10
- //
- void outputTime(int timeHr,int timeMin)
- {
- cout<<timeHr<<":";
- if(timeMin<10)
- cout<<"0";
- cout<<timeMin;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement