2980: 几点了
时间限制: 1 Sec 内存限制: 128 MB提交: 37 解决: 9
题目描述
现有一个Time类可以用来记录时间,请输出Time记录的时间加上s秒后的时间。
只需提交补充部分。
请用C++方式提交
#include <iostream>
using namespace std;
class Time
{
public:
Time(){};
Time(int ,int ,int);
void display();
Time operator+(int s);
private:
int hour;
int minute;
int second;
};
Time::Time(int h,int m,int s):hour(h),minute(m),second(s){};
void Time::display()
{
cout<<hour<<":"<<minute<<":"<<second<<endl;
}
Time Time::operator+(int s)
{
/*
补充部分
*/
}
int main()
{
int hour,minute,second;
int sec;
cin>>hour>>minute>>second;
cin>>sec;
Time t(hour,minute,second);
t=t+sec;
t.display();
return 0;
}
输入
第一行:小时(hour,0~23),分钟(minute,0~59),秒(second,0~59),以空格隔开
第二行:要加的秒数,sec(>=0)
输出
加完后的时间,格式为:
hour:minute:second
样例输入
23 59 59
2
样例输出
0:0:1
你 离 开 了 , 我 的 世 界 里 只 剩 下 雨 。 。 。
#include <iostream> using namespace std; class Time { public: Time() {}; Time(int ,int ,int); void display(); Time operator+(int s); private: int hour; int minute; int second; }; Time::Time(int h,int m,int s):hour(h),minute(m),second(s) {}; void Time::display() { cout<<hour<<":"<<minute<<":"<<second<<endl; } Time Time::operator+(int s) { Time t; t.hour=hour,t.minute=minute,t.second=second; t.second+=s; if(t.second>=60) { t.minute+=t.second/60; t.second%=60; if(t.minute>=60) { t.hour+=t.minute/60; t.minute%=60; t.hour%=24; } } return t; } int main() { int hour,minute,second; int sec; cin>>hour>>minute>>second; cin>>sec; Time t(hour,minute,second); t=t+sec; t.display(); return 0; }