bool isLeapYear(int year)
{
if((year%4==0 && year%100!=0)||(year%400==0))//判断闰年
return true;
return false;
}
void add(int &year,int &month,int &day)
{
day++;
if(isLeapYear(year))//判断闰年二月的情况
{
if(month == 2 && day==30)
{
day=1;
month+=1;
}
}else if(month==2 && day==29)
{
day=1;
month++;
}
if(month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12)
{ //大月的情况
if(day>31)
{
day-=31;
month+=1;
}
if(month>12)
{
year+=1;
month-=12;
}
}
else if(month==4 || month==6 || month==9 || month==11 )
{//小月的情况
if(day>30)
{ day-=30;
month+=1;
}
}
}
int _tmain(int argc, _TCHAR* sargv[])
{
int year;
int month;
int day;
char answer;
do{
cout<<"请输入年 月 日:"<<endl;
cin>>year>>month>>day;
getchar();//消化掉回车键,这里很重要。
if((month>0 && month<=12) && (day>0 && day<=31))
{
cout<<"加一天后的日期:"<<endl;
add(year,month,day);
cout<<year<<" "<<month<<" "<<day<<endl;
}
else
{
cout<<"输入的日期错误:";
}
//要循环执行的代码
cout<<"要继续吗(y/n):";
answer=getchar();//消化掉回车键
getchar();//消化掉回车键,不然程序执行出错
}while(answer =='y');
system("pause");
}