YTU 2980: 几点了
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;
}
------------------- 这是千千的个人网站哦! https://www.dreamwings.cn -------------------

浙公网安备 33010602011771号