//输入一个日期计算并输出这天是今年的第几天

#include
using namespace std;
bool fun1(int y);//判断是否是瑞年
int mouth(int m);//返回各月天数
int y,m,d;       //全局变量年-月-日
int main()//主函数
{
  bool primer;
  bool fun2();//输入并判断日期格式是否正确
  void sum(int m,int d);//计算并输出这天是今年的第几天
  primer=fun2();
  while(!primer)//while循环输入
   {
       cout<<"输入有误请重新输入:";
       primer=fun2();
      };
  sum(m,d);//调用入口
return 0;
}
//判断是否是瑞年
bool fun1(int y)
{
  if((y%4==0)&&(y%100!=0)||(y%400==0))
     return true;
  return false;
}
//输入并判断日期格式是否正确
bool fun2()
{
    cout<<"请输入日期:(格式:year-mouth-day)";
    cin>>y>>m>>d;
    if((y<0)||(m<0)||(m>12)||(d>mouth(m)))  return false;
    return true;
}
//返回各月天数
int mouth(int m)
{
 if((m==4)||(m==6)||(m==9)||(m==11)) return 30;
    if((m==2)&&(fun1(y)))               return 28;
 if((m==2)&&(!fun1(y)))              return 29;
    return 31;
}
//计算并输出这天是今年的第几天
void sum(int m,int d)
{  int sum=0;
     for(int i=1;i          sum+=mouth(i);
     sum+=d;
   cout<<"这天是今年的第:'"< }

 

你可能感兴趣的:(笨鸟->菜鸟)