Cálculo de unos pocos días al año

Escribir un programa, definir una estructura Fecha, que contiene el año, el mes, el día tres entero.
La fecha de cálculo es de los primeros días del año y de salida, si la fecha entró ilegalmente, la salida es 0.
Los resultados son los siguientes:
Entrada: 199999
salida: 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;
  }
 }
}
Publicados 102 artículos originales · ganado elogios 93 · vistas 4975

Supongo que te gusta

Origin blog.csdn.net/huangziguang/article/details/104633780
Recomendado
Clasificación