#include<iostream>
using namespace std;
int yearyn(int y);
class TDate{
private:
int year,month,day;
public:
TDate(int,int,int);
void setDate(int,int,int);
void addOneDay();
void print() const;
};
TDate::TDate(int a,int b,int c){
setDate(a,b,c);
}
void TDate::setDate(int y,int m,int d){
year=y;
month=m;
day=d;
}
void TDate::addOneDay(){
day++;
if((month==1||month==3||month==5||month==7||month==8||month==10|month==12)&&day==32)
{month++;day=1;}
else if((month==4||month==9||month==11)&&day==31)
{month++;day=1;}
else if(yearyn(year)==1&&month==2&&day==30)
{month++;day=1;}
else if(yearyn(year)==0&&month==2&&day==29)
{month++;day=1;}
if(month==13) {year++;month=1;}
}
int yearyn(int y) {
if(y%400==0||(y%100!=0&&y%4==0))
return 1;
else return 0;
}
void TDate::print() const{
cout<<year<<"-"<<month<<"-"<<day;
}
int main(){
int y,m,d;
cout<<"请按年月日的顺序输入日期:";
as:
cin>>y>>m>>d;
if((y<0)||(m<0||m>12)||(d<0||d>31)||(yearyn(y)==0&&m==2&&d>28)){
cout<<"输入的时间有错,请重新输入:";goto as;}
TDate time(y,m,d);
time.print();
cout<<endl<<"加一天之后:"<<endl;
time.addOneDay();
time.print();
system("pause");
return 0;
}