求助一道编程题
给定某个年月日,例如,2000年7月25日。计算出这一天是属于该年的第几天。要求写出计算闰年的函数和计算日期的函数。
这个算法到处都能找到的:
void main()
{
int day,month,year,sum,leap;
cout<<"please input year:"<<endl;
cin>>year;
cout<<"please input month:"<<endl;
cin>>month;
cout<<"please input day:"<<endl;
cin>>day;
/*先计算某月以前月份的总天数*/
switch(month)
{
case 1:sum=0;break;
case 2:sum=31;break;
case 3:sum=59;break;
case 4:sum=90;break;
case 5:sum=120;break;
case 6:sum=151;break;
case 7:sum=181;break;
case 8:sum=212;break;
case 9:sum=243;break;
case 10:sum=273;break;
case 11:sum=304;break;
case 12:sum=334;break;
default:cout<<"data error";break;
}
/*再加上某天的天数*/
sum=sum+day;
if(year%400==0||(year%4==0&&year%100!=0))/*判断是不是闰年*/
leap=1;
else
leap=0;
/*如果是闰年且月份大于2,总天数应该加一天*/
if(leap==1&&month>2)
sum++;
cout<<"It is the "<<sum<<"th day "<<endl;
if(1==leap)
{cout<<"And it's a leap year"<<endl;}
}