天天看點

作業一:日期

#include<iostream.h>

#include <stdlib.h>

void main()

{

 int year,mon,day;

 bool IsLeapYear;

 cout<<"Enter the year,month,day:";

 cin>>year>>mon>>day;

 IsLeapYear=((year%4==0&&year%100!=0)||(year%400==0));

 if(year<=0||mon<=0||day<=0||mon>12||day>31||((mon==4||mon==6||mon==9||mon==11)&&day>30)||(IsLeapYear==1&&mon==2&&day>=30)||(IsLeapYear==0&&mon==2&&day>28))

 {

 cout<<"這是無效資料!/n";

 exit(1);

 }

 switch(mon)

 {

 case 1:

 case 3:

 case 5:

 case 7:

 case 8:

 case 10:if(day<31) day=day++;

   else if(day==31) day=1,mon=mon++;break;

 case 12:if(day<31) day=day++;

   else if(day==31) day=1,mon=1,year=year++;break;

 case 4:

 case 6:

 case 9:

 case 11:if(day<30) day=day++;

   else if(day==30) day=1,mon=mon++;break;

 case 2:if(IsLeapYear)

   {if(day<29) day=day++;

    else if(day==29) day=1,mon=mon++;

   }

   else

   {if(day<28) day=day++;

    else if(day==28) day=1,mon=mon++;break;

   }

 }

 cout<<"The next day is:"<<year<<'/'<<mon<<'/'<<day<<endl;

}