设置Cmytime类。
具有三个成员函数
Show()
int Set(int h,int m,int s)
对于Set函数的要求,
1、对于非法赋值不给予执行,三个参数合法范围是:0<=h<=23, 0<=m,s<=59。 如何参数非法,本次Set函数不改变原有值。
2、赋值成功,返回1,否则返回0。
void AddOneSecond();
实现在原时间的基础上加1秒的时间值。
int AddNSeconds(int n);
实现在原时间的基础上加n秒的时间值。返回值要求,如果加的n秒数,返回时间跨越了0:0:0的次数,换句话说反映了日期上进几天。
输入 23 25 38
输出:
23:25:38
0
23:25:38
23:25:39
2
#include<iostream> using namespace std; class Cmytime { private://内部属性 int hour,minute,second,min_zhouqi,hour_zhouqi,day_zhouqi; public://对外接口 int Set(int h,int m,int s) { if(((h>=0)&&(h<=23))&&(m>=0)&&(s<=59)) { hour=h; minute=m; second=s; return 1; } else { return 0; } } void AddOneSecond() { second+=1; second%=60; } int AddNSeconds(int n) { second+=n;//加上秒数 min_zhouqi=second/60;//分钟需前进轮次 second%=60;//当前秒数 minute+=min_zhouqi;//加上分钟 hour_zhouqi=minute/60;//小时需前进轮次 minute%=60;//当前分钟 hour+=hour_zhouqi;//加上小时 day_zhouqi=hour/24;//天数徐前进轮次 hour%=24;//当前小时 return day_zhouqi;//返回天数徐前进轮次 } void Show() { cout << hour << ":" << minute << ":" << second; } };
//StudybarCommentBegin int main(void) { int h,m,s; cin>>h>>m>>s; Cmytime t1; t1.Set(h,m,s); t1.Show(); cout<<endl<<t1.Set(24,0,0)<<"\n"; t1.Show(); t1.AddNSeconds(1); cout<<endl; t1.Show(); cout<<endl<<t1.AddNSeconds(3600*25); return 0; } //StudybarCommentEnd
-END
标签:25,Set,函数,23,int,成员,t1,计算,zhouqi From: https://www.cnblogs.com/peitongshi/p/17338838.html