#include<iostream>
using namespace std;
class Time
{
public :
void set_time();
void show_time();
void add_seconds(int);
void add_minutes(int);
void add_hours(int);
void add();
private:
bool is_time(int,int,int);
int hour;
int minute;
int sec;
};
void Time::set_time()
{
char c1,c2;
cout<<"请输入时间(格式hh:mm:ss)";
while(1)
{
cin>>hour>>c1>>minute>>c2>>sec;
if(c1!=':'||c2!=':')
cout<<"格式不正确,请重新输入"<<endl;
else if(!is_time(hour,minute,sec))
cout<<"时间非法,请重新输入"<<endl;
else
break;
}
}
void Time::show_time()
{
cout<<hour<<':'<<minute<<':'<<sec;
cout<<endl;
}
bool Time::is_time(int h,int m,int s)
{
if(h<0||h>24||m<0||m>60||s<0||s>60)
return false;
else
return true;
}
void Time::add_seconds(int iAdds)
{
int n;
sec+=iAdds;
if(sec>60)
{
n=sec/60;
sec%=60;
Time::add_minutes(n);
}
}
void Time::add_minutes(int iAddm)
{
int n;
minute+=iAddm;
if(minute>60)
{
n=minute/60;
minute%=60;
Time::add_hours(n);
}
}
void Time::add_hours(int iAddh)
{
hour+=iAddh;
hour%=24;
}
int main()
{
int iSecond;
int iMinute;
int iHour;
Time t1;
t1.set_time();
t1.show_time();
cout<<"调整时间,输入增加的量ss,mm,hh"<<endl;
cin>>iSecond>>iMinute>>iHour;
t1.add_seconds(iSecond);
t1.add_minutes(iMinute);
t1.add_hours(iHour);
t1.show_time();
return 0;
}
<img src="https://img-blog.csdn.net/20150317130947916?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2xpdXpoaWxpbw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />