2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > C语言编程 判断某年某月有几天 C++自定义函数判断某年某月某日是这一年中第几天...

C语言编程 判断某年某月有几天 C++自定义函数判断某年某月某日是这一年中第几天...

时间:2020-01-09 13:59:24

相关推荐

C语言编程 判断某年某月有几天 C++自定义函数判断某年某月某日是这一年中第几天...

本文实例讲述了C++自定义函数判断某年某月某日是这一年中第几天的方法。分享给大家供大家参考,具体如下:

/*

* 作 者: 刘同宾

* 完成日期: 年 11 月 30 日

* 版 本 号:v1.0

*

* 输入描述:

* 问题描述:编写函数判断某年某月某日这一年中是第几天,在主函数中调用该函数。

* 程序输出:

* 问题分析:略

* 算法设计:略

*/

#include

using namespace std;

int main()

{

void f(int year,int month,int day);

int year,month,day;

cout<

f(year,month,day);

cout<

return 0;

}

//判断输入的年月日是这一年中的第几天!

void f(int year,int month,int day)

{

int f1(int year,int month,int day);

int leap(int year);

int t=0,s=0,i;

int a[12]={31,28,31,30,31,30,31,31,30,31,30,31}; //定义数组 各月的天数

int b[12]={31,29,31,30,31,30,31,31,30,31,30,31};

while(1)

{

cin>>year>>month>>day;

if(f1(year,month,day))

{

if(leap(year))

{

for(i=0;i<=month-2;i++)

{

t=t+b[i];

}

s=t+day;

}

else

{

for(i=0;i<=month-2;i++)

{

t=t+a[i];

}

s=t+day;

}

cout<

break;

}

else

cout<

}

}

//判断是否为闰年!

int leap(int year)

{

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

{

return true;

}

else

return false;

}

//判断输入是否合法!

int f1(int year,int month,int day)

{

int days(int year,int month,int day);

if(year>0)

{

if(month>=1&&month<=12)

{

if(days(year,month,day))

{

return true;

}

else

return false;

}

else

return false;

}

else

return false;

}

//判断输入的天 是否合法!

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)

{

if(day>0&&day<=31)

{

return true;

}

else

return false;

}

else if(month==2||month==4||month==6||month==9||month==11)

{

if(day>0&&day<=30)

{

return true;

}

else

return false;

}

else

{

if(leap(year))

{

if(day>0&&day<=29)

{

return true;

}

else

return false;

}

else

{

if(day>0&&day<=28)

{

return true;

}

else

return false;

}

}

}

运行效果如下图所示:

PS:这里再为大家推荐一款C语言在线格式化工具,相信在以后的开发中可以用得上:

希望本文所述对大家C++程序设计有所帮助。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。