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;
}
}
}