#include <iostream>
using namespace std;
class Time
{
public:
Time (int a,int b,int c);
void set_time();
void show_time();
void add_a_sec(int);
void add_a_minute(int);
void add_an_hour(int);
private:
bool is_time(int,int,int);
int hour;
int minute;
int sec;
};
Time::Time(int a,int b,int c)
{
hour=a;
minute=b;
sec=c;
}
void Time::set_time()
{
char c1,c2;
cout<<"请输入时间(格式hh:mm:ss)"<<endl;
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<<endl;
}
bool Time::is_time(int h,int m,int s)
{
if(h<0 || h>60 || m<0 || m>60 || s<0 || s>60)
return false;
else
return true;
}
void Time::add_a_sec(int n)
{
if((sec+n)>=60)
{
sec=(sec+n)%60;
add_a_minute(n/60);
}
else
sec+=n;
}
void Time::add_a_minute(int n)
{
if((minute+n)>=60)
{
minute=(minute+n)%60;
add_an_hour(n/60);
}
else
minute+=n;
}
void Time::add_an_hour(int n)
{
if((hour+n)>=24)
{
hour=(hour+n)%24;
add_an_hour(n/24);
}
else
hour+=n;
}
int main()
{
Time t1(0,0,0);
int n;
cout<<"请输入要增加的时间n"<<endl;
cin>>n;
t1.set_time();
//t1.show_time();
t1.add_a_sec(n);
t1.add_a_minute(n);
t1.add_an_hour(n);
t1.show_time();
return 0;
}对时间的时分秒分别加上n
最新推荐文章于 2021-03-26 13:56:44 发布
8296

被折叠的 条评论
为什么被折叠?



