【问题描述】
定义日期类Date。要求:
(1)可以设置日期;
(2)日期加一天操作;
(3)输出函数,输出格式为“XXXX-XX-XX”;
(4)编写主函数,定义对象,完成相应功能。
【输入形式】
程序的参考的输入(“Input Date:”为提示文字):
Input Date:2016 2 28
【输出形式】
程序的输出:
2016-2-28
2016-2-29
【样例输入】
Input Date:2016 2 28
【样例输出】
2016-2-28
2016-2-29
【样例说明】
【评分标准】#include <iostream>
using namespace std;
class Date
{
public:
Date()
{
cout<<"Input Date:";
cin>>y>>m>>d;
}
int beLeapYear()
{
return ((y%4==0&&y%100!=0)||(y%400==0));
}
void addOneDay()
{ if(d==31)
{
if(m==12)
{
y +=1;
m=d=1;
}
else
m +=1;
}
else if(d==30)
{
switch(m)
{
case 4:
case 6:
case 9:
case 11:m +=1;d=1;break;
default: d +=1;break;
}
}
else if(d==29)
{
if(2==m)
{
d=1;
m +=1;
}
else{
d +=1;
}
}
else if(d==28)
{
if(2==m)
{
if(beLeapYear())
d+=1;
else
{
m+=1;
d=1;
}
}
else
d +=1;
}
else
d +=1;
}
void showDate()
{
cout<<y<<"-"<<m<<"-"<<d<<endl;
}
private:
int y,m,d;
};
int main()
{
Date d;
d.showDate();
d.addOneDay();
d.showDate();
}