首页 > 编程 > C++ > 正文

C++自定义函数判断某年某月某日是这一年中第几天

2020-05-23 14:03:17
字体:
来源:转载
供稿:网友
这篇文章主要介绍了C++自定义函数判断某年某月某日是这一年中第几天的方法,涉及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;  } }}

运行效果如下图所示:

C++,自定义函数



发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表