C++自定义函数判断某年某月某日是这一年中第几天
本文实例讲述了C++自定义函数判断某年某月某日是这一年中第几天的方法。分享给大家供大家参考,具体如下:
/* * 作 者: 刘同宾 * 完成日期:2012 年 11 月 30 日 * 版 本 号:v1.0 * * 输入描述: * 问题描述:编写函数判断某年某月某日这一年中是第几天,在主函数中调用该函数。 * 程序输出: * 问题分析:略 * 算法设计:略 */ #include<iostream> using namespace std; int main() { void f(int year,int month,int day); int year,month,day; cout<<"请输入年月日:"<<endl; f(year,month,day); cout<<endl; 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<<"这是这一年的第"<<s<<"天!"<<endl; break; } else cout<<"输入错误,请重新输入:"<<endl; } } //判断是否为闰年! 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语言风格/HTML/CSS/json代码格式化美化工具:
http://tools.jb51.net/code/ccode_html_css_json
希望本文所述对大家C++程序设计有所帮助。
上一篇:C语言求Fibonacci斐波那契数列通项问题的解法总结
栏 目:C语言
下一篇:浅谈C++中的mutable和volatile关键字
本文地址:https://www.xiuzhanwang.com/a1/Cyuyan/2253.html
您可能感兴趣的文章
- 04-02c语言函数调用后清空内存 c语言调用函数删除字符
- 04-02c语言的正则匹配函数 c语言正则表达式函数库
- 04-02func函数+在C语言 func函数在c语言中
- 04-02c语言中对数函数的表达式 c语言中对数怎么表达
- 04-02c语言用函数写分段 用c语言表示分段函数
- 04-02c语言编写函数冒泡排序 c语言冒泡排序法函数
- 04-02c语言没有round函数 round c语言
- 04-02c语言分段函数怎么求 用c语言求分段函数
- 04-02C语言中怎么打出三角函数 c语言中怎么打出三角函数的值
- 04-02c语言调用函数求fibo C语言调用函数求阶乘
阅读排行
本栏相关
- 04-02c语言函数调用后清空内存 c语言调用
- 04-02func函数+在C语言 func函数在c语言中
- 04-02c语言的正则匹配函数 c语言正则表达
- 04-02c语言用函数写分段 用c语言表示分段
- 04-02c语言中对数函数的表达式 c语言中对
- 04-02c语言编写函数冒泡排序 c语言冒泡排
- 04-02c语言没有round函数 round c语言
- 04-02c语言分段函数怎么求 用c语言求分段
- 04-02C语言中怎么打出三角函数 c语言中怎
- 04-02c语言调用函数求fibo C语言调用函数求
随机阅读
- 01-10使用C语言求解扑克牌的顺子及n个骰子
- 01-11ajax实现页面的局部加载
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 01-10delphi制作wav文件的方法
- 08-05织梦dedecms什么时候用栏目交叉功能?
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 01-10SublimeText编译C开发环境设置
- 08-05DEDE织梦data目录下的sessions文件夹有什
- 01-10C#中split用法实例总结
- 04-02jquery与jsp,用jquery