您的位置:首页 > 其它

编写一个函数判断输入的年月日是否合法。输入例如 2012 2 12形式

2012-12-01 12:36 453 查看
/*
* Copyright (c) 2012, 烟台大学计算机学院
* All rights reserved.
* 作 者:  刘同宾
* 完成日期:2012 年 11 月 30 日
* 版 本 号:v1.0
*
* 输入描述:
* 问题描述: 编写一个函数判断输入的年月日是否合法。输入例如 2012  2  12形式
* 程序输出:
* 问题分析:略
* 算法设计:略
*/

#include<iostream>

using namespace std;

int main()
{
int days(int year,int month,int day);  //函数声明

int year,month,day;

cout<<"请输入年月日:"<<endl;

cin>>year>>month>>day;   //输入年月日

if(year>0)             //合法条件之一  年份大于0
{
if(month>=1&&month<=12)    //合法条件之二  月份在1到12之间
{
if(days(year,month,day))   //调用函数  判断 天 是否合法
{
cout<<"输入正确!"<<endl;   //如果合法 输出输入正确
}
else
cout<<"输入错误!"<<endl;
}
else
cout<<"输入错误!"<<endl;
}
else
cout<<"输入错误!"<<endl;

return 0;
}

//判断输入的天 是否合法!
int days(int year,int month,int day)
{
int  leap(int year);

if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)  //1,3,5,7,8,10,12有31天。。
{
if(day>0&&day<=31)
{
return true;
}
}
else if(month==2||month==4||month==6||month==9||month==11)   //4,6,9,11有30天
{
if(day>0&&day<=30)
{
return true;
}
}
else          //2 若是闰年有29天  不是闰年有28天
{
if(leap(year))   //调用函数  判断是否是闰年
{
if(day>0&&day<=29)
{
return true;
}
}
else
{
if(day>0&&day<=28)
{
return true;
}
}
}

}

//判断是否为闰年!
int  leap(int year)
{
if((year%4==0&&year%400==0)||(year&4==0&&year%100!=0))  //判断是否是闰年的条件
{
return true;
}

else
return false;
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐