判断输入年份是否合法

来源:互联网 发布:gm预测软件 编辑:程序博客网 时间:2024/06/02 13:28
313.#include<iostream>
314.using namespace std;
315.int main()
316.{int year(int);
317.int a,b,c;
318.cout<<"输入年份(如year-month-day):";
319.cin>>a>>b>>c;
320.if(a<=0||b<=0||b>12||c<=0||c>31)
321.cout<<"不合法"<<endl;
322.else
323.{if(b==4||b==6||b==9||b==11)
324.{if(c<=30)
325.cout<<"合法"<<endl;
326.else
327.cout<<"不合法"<<endl;
328.}
329.if(b==2&&(year(a)==1))
330.{if(b<=29)
331cout<<"合法"<<endl;
332.else
333.cout<<"不合法"<<endl;
334.}
335.if(b==2&&(year(a)!=1))
336.{if(b<=28)
337.cout<<"合法"<<endl;
338.else
339.cout<<"不合法"<<endl;
340.}
341.if(b==1||b==3||b==5||b==7||b==8||b==10||b==12)
342.cout<<"合法"<<endl;
343.}
344.return 0;
345.}
346.int year(int x)
347.{if((x%4==0&&x%100!=0)||(x%400==0))
348.return 1;
349.else
350.return 0;
351.}