problem
2-2 Time类的定义
Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic
Problem Description
通过本题目的练习可以掌握类与对象的定义;
设计一个时间类Time,私有数据成员有hour(时)、minute(分)、second(秒);
公有成员函数有:setHour(int)设置数据成员hour的值(采用12小时制),非法的输入默认为12;setMinue(int)设置数据成员minute的值,非法输入默认为0;setSecond(int)设置数据成员second的值,非法输入默认为0;setTime(int,int,int)设置时、分、秒三个数据成员的值; showTime()显示时间对象的值。
在主函数main()中调用相应成员函数,使得时间对象的值能从键盘接收,并正确显示。
提示:时、分、秒均按2位数值形式显示 。
Input
输入3个整数,用一个空格间隔
Output
输出 时、分、秒的值,中间用“:”间隔
Example Input
10 11 12
Example Output
10:11:12
Hint
输入
58 23 85
输出
12:23:00
Author
黄晶晶
code
#include <iostream>
using namespace std;
class Time
{
private:
int hour,minu,sec;
public:
void setHour(int newH );
void setMinue(int newM );
void setSecond(int newS );
void setTime(int newH, int newM,int newS);
void showTime();
};
void Time::setHour(int newH)
{
if(newH>=0 && newH <= 12)
hour = newH;
else
hour = 12;
}
void Time::setMinue(int newM)
{
if (newM>=0 && newM <= 60)
minu = newM;
else
minu = 0;
}
void Time::setSecond(int newS)
{
if (newS>=0 && newS <= 60)
sec = newS;
else
sec = 0;
}
void Time::setTime(int newH, int newM,int newS)
{
setHour(newH);
setMinue(newM);
setSecond(newS);
}
void Time::showTime()
{
if(hour<10)
cout << "0" << hour;
else
cout << hour;
cout << ":";
if(minu<10)
cout << "0" << minu;
else
cout << minu;
cout << ":";
if(sec < 10)
cout << "0" << sec << endl;
else
cout << sec << endl;
}
int main()
{
Time mytime;
int x,y,z;
cin >> x >> y >> z;
mytime.setTime(x,y,z);
mytime.showTime();
return 0;
}