#include
using namespace std;
class Date
{ public:
void SetDate();//设置日期
void AddDate();//日期加一天操作
void PrintDate();//输出函数,按格式输出
private:
int y;
int m;
int d;
};
void Date::SetDate()
{
cout<<"请输入:"< cout<<"年份:"<<"(y>0)";cin>>y; if(y%4==0&&y%100!=0||y%400==0) { part1: cout<<"月份:"<<"(0 cin>>m; if(m<=0||m>=13) goto part1; part2: if(m==2) { cout<<"日期:"<<"(0 cin>>d; if(d<=0||d>=30) goto part2; } part3: if(m==1||m==3||m==5||m==7||m==8||m==10||m==12) { cout<<"日期:"<<"(0 cin>>d; if(d<=0||d>=32) goto part3; } part4: if(m==4||m==6||m==9||m==11) { cout<<"日期:"<<"(0 cin>>d; if(d<=0||d>=31) goto part4; } } else { part5: cout<<"月份:"<<"(0 cin>>m; if(m<=0||m>=13) goto part5; part7: if(m==1||m==3||m==5||m==7||m==8||m==10||m==12) { cout<<"日期:"<<"(0 cin>>d; if(d<=0||d>=32) goto part7; } part8: if(m==2||m==4||m==6||m==9||m==11) { cout<<"日期:"<<"(0 cin>>d; if(d<=0||d>=31) goto part8; } } } void Date::AddDate() { if(m==12&&d==30) { y=y+1; m=1; d=1; return; } if(y%4==0&&y%100!=0||y%400==0) { if(m==2&&d==29) { m=3; d=1; return; } if (m==2&&d>=30) { return; } if(m==1||m==3||m==5||m==7||m==8||m==10||m==12) { if(d==31) { m=m+1; d=1; } if(d<31) d=d+1; return; } else { if(d==30) { m=m+1; d=1; return; } if(d<30) d=d+1; return; } } else if(m==1||m==3||m==5||m==7||m==8||m==10||m==12) {if(d==31) { m=m+1;d=1; } if(d<31) d=d+1; return;} else {if(d==30) { m=m+1;d=1; return;} if(d<30) d=d+1; return; } } void Date::PrintDate() { cout<<"后一天日期为:"< int main() { int v; Date x; x.SetDate(); x.AddDate(); x.PrintDate(); }
好好检查你的goto语句。。估计是标签位置不对。。goto看的太乱,真心不喜欢。
goto语句还是少用吧,