This is C+ progamming question. Write a class for time objects that store three
ID: 3941301 • Letter: T
Question
This is C+ progamming question.
Write a class for time objects that store three integer values for hour, minute, and second. Also, write a program to test the functionality of your class. Make sure it does all of the following:
Create time objects with no values (default)
Create time objects with all three values (hours, minutes, seconds)
Create time objects with only hours and minutes Change hours, minutes, and seconds independently
Change time (all three values)
Display military time
Display standard time
Explanation / Answer
#include<iostream>
#include<iomanip.h>
using namespace std;
void convert(int,int&,int&,int&);
class Time
{
public:
int hour,minute,second;
Time()
{hour=0;
minute=0;
second=0;
}
~Time()
{hour=0;
minute=0;
second=0;
}
Time(int h,int m,int s)
{hour=h;
minute=m;
second=s;
}
void get()
{cout<<"Enter the time ";
cout<<"Hour: ";
cin>>hour;
cout<<"Minutes: ";
cin>>minute;
cout<<"Seconds: ";
cin>>second;
}
void show()
{cout<<setw(2)<<setfill('0')<<hour<<":"<<setw(2)<<setfill('0')<<minute<<":"<<setw(2)<<setfill('0')<<second<<endl;
}
Time operator + ( Time t)
{int h,m,s;
int totalsec;
totalsec=(hour*3600+minute*60+second)+(t.hour*3600+t.minute*60+t.second);
convert(totalsec,h,m,s);
return Time(h,m,s);
}
Time operator - ( Time t)
{int h,m,s,totalsec;
totalsec=(hour*3600+minute*60+second)-(t.hour*3600+t.minute*60+t.second);
if(totalsec<0)
totalsec=-totalsec;
convert(totalsec,h,m,s);
return Time(h,m,s);
}
void convert(int totalsec,int& h,int& m,int& s)
{ s=totalsec%60;
totalsec=totalsec/60;
m=totalsec%60;
h=(totalsec/60)%12;
if(h==0)
h=12;
return;
}
};
int main()
{ Time time1,time2,added,subtracted;
cout.setf(ios::fixed,ios::floatfield);
cout.precision(2);
time1.get();
time2.get();
added=time1+time2;
subtracted=time1-time2;
cout<<"Time 1 : ";
time1.show();
cout<<"Time 2 : ";
time2.show();
cout<<" Added : ";
time1.show();
cout<<"+";
time2.show();
cout<<"---------- ";
added.show();
cout<<" Subtracted: ";
time1.show();
cout<<"-";
time2.show();
cout<<"---------- ";
subtracted.show();
system("pause");
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.