Calculation of a few days a year

Write a program, define a structure Date, containing year, month, day three integer.
The calculation date is the first few days of the year and output, if the date entered illegally, the output is 0.
Results are as follows:
Input: 199999
output: 252

#include <iostream>
using namespace std;
struct date //定义结构变量
{
    int year;
    int month;
    int day;
}dat;
int luner(int n) //判断是否是闰年
{
    if (n%4==0)
    {
      if (n%100 ==0 && n%400!=0)
        return 28;
      else
        return 29;
    }
    else return 28;
}
int main()
{
    int y,m,d;
 cin>>y>>m>>d;
 if((y<=0)||(m<=0||m>=13)||(d<=0||d>=32)||(m==2&&d>=30)||(luner(y)==28&&d==29)||||(luner(y)==29&&d==28))
 {
  cout<<0;
 }
 else 
 {
  if(m==1)
  {
   cout<<d;
  }
  else if(m==2)
  {
   cout<<+31+d;
  }
  else if(m==3&&luner(y)==28)
  {
   cout<<31+28+d;
  }
  else if(m==3&&luner(y)==29)
  {
   cout<<31+29+d;
  }
  else if(m==4&&luner(y)==28)
  {
   cout<<31+28+31+d;
  }
  else if(m==4&&luner(y)==29)
  {
   cout<<31+29+31+d;
  }
  else if(m==5&&luner(y)==28)
  {
   cout<<31+28+30+31+d;
  }
  else if(m==5&&luner(y)==29)
  {
   cout<<31+29+30+31+d;
  }
  else if(m==6&&luner(y)==28)
  {
   cout<<31+28+30+31+31+d;
  }
  else if(m==6&&luner(y)==29)
  {
   cout<<31+29+30+31+31+d;
  }
  else if(m==7&&luner(y)==28)
  {
   cout<<31+28+30+31+31+30+d;
  }
  else if(m==7&&luner(y)==29)
  {
   cout<<31+29+30+31+31+30+d;
  }
  else if(m==8&&luner(y)==28)
  {
   cout<<31+28+30+31+31+30+31+d;
  }
  else if(m==8&&luner(y)==29)
  {
   cout<<31+29+30+31+31+30+31+d;
  }
  else if(m==9&&luner(y)==28)
  {
   cout<<31+28+30+31+31+30+31+31+d;
  }
  else if(m==9&&luner(y)==29)
  {
   cout<<31+29+30+31+31+30+31+31+d;
  }
  else if(m==10&&luner(y)==28)
  {
   cout<<31+28+30+31+31+30+31+31+30+d;
  }
  else if(m==10&&luner(y)==29)
  {
   cout<<31+29+30+31+31+30+31+31+30+d;
  }
  else if(m==11&&luner(y)==28)
  {
   cout<<31+28+30+31+31+30+31+31+30+31+d;
  }
  else if(m==11&&luner(y)==29)
  {
   cout<<31+29+30+31+31+30+31+31+30+31+d;
  }
  else if(m==12&&luner(y)==28)
  {
   cout<<31+28+30+31+31+30+31+31+30+31+30+d;
  }
  else if(m==12&&luner(y)==29)
  {
   cout<<31+29+30+31+31+30+31+31+30+31+30+d;
  }
  else if(luner(m)==28&&d==29)
  {
   cout<<0;
  }
  else if(luner(m)==28&&d==29)
  {
   cout<<0;
  }
  else if(m==2&&d>=30)
  {
   cout<<0;
  }
 }
}
Published 102 original articles · won praise 93 · views 4975

Guess you like

Origin blog.csdn.net/huangziguang/article/details/104633780