C++_Time类的定义
程序员文章站
2022-03-09 20:16:27
...
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
输出 时、分、秒的值,中间用“:”间隔
Sample Input
10 11 12
Sample Output
10:11:12
Hint
输入
58 23 85
输出
12:23:00
Source
黄晶晶
#include<iostream>
#include<iomanip>
using namespace std;
class Time
{
public:
void setHour(int newH)
{
if(newH<0 || newH>12)
hour = 12;
}
void setMinue(int newM)
{
if(newM<0 || newM>60)
minute = 0;
}
void setSecond(int newS)
{
if(newS<0 || newS>60)
second = 0;
}
void setTime(int newH, int newM, int newS);
void showTime(void)
{
cout<<setw(2)<<setfill('0')<<hour<<":"<<setw(2)<<setfill('0')<<minute<<":"<<setw(2)<<setfill('0')<<second<<endl; ///控制输出为2位, 不足的用字符‘0’补齐
}
private:
int hour;
int minute;
int second;
};
void Time::setTime(int newH, int newM, int newS)
{
hour = newH;
minute = newM;
second = newS;
setHour(newH);
setMinue(newM);
setSecond(newS);
}
int main(void)
{
Time myTime;
int h;
int m;
int s;
cin>>h>>m>>s;
myTime.setTime(h, m, s);
myTime.showTime();
return 0;
}