某电子厂要生产数字时钟,要求能够显示年月日、时分秒,按照标准格式显示。
//数据成员包括:年月日小时分钟秒
//成员函数包括:年月日的设定,小时分钟秒的设定,其中包括输入错误的检查,并提示重新的输入;
//显示函数,显示格式按照标准格式,如2013-04-11 10:20:30;
#include<iostream>
#include<stdio.h>
using namespace std;
class Date;
class Time
{
private:
int hour;
int minute;
int second;
public:
Time():hour(14),minute(13),second(0){
};
void display(Date &d);
};
class Date
{
private:
int year;
int month;
int day;
public:
Date():year(2019),month(6),day(5){};
friend void Time::display(Date &d);
};
void Time::display(Date &d)
{
while (1)
{ cout<<"输入年月日、时分秒:";
cin>>d.year>>d.month>>d.day;
cin>>hour>>minute>>second;
if(d.month>12||d.month<1||d.day>31||d.day<0||hour>24||hour<0||minute>60||minute<0||second>60||second<0)
{
cout<<"输入错误,请重新输入"<<endl;
}
else
{
break;
}
}
printf("%d-%02d-%02d\n",d.year,d.month,d.day);
printf("%02d: %02d:%02d",hour,minute,second);
}
int main()
{
Time t1;
Date d1;
t1.display(d1);
return 0;
}