* Copyright (c) 2012, 烟台大学计算机学院
* All rights reserved.
* 作 者:庄子豪
* 完成日期:2013年 3月8日
* 版 本 号:v1.0
*
* 输入描述:
* 问题描述:
* 程序输出:
* 问题分析:
*算法设计
#include <iostream>
using namespace std;
bool Year(int year) ;
int Month(int month,int year);
int day(int year,int month,int day);
struct Date
{
int year;
int month;
int day;
};
int main()
{
Date date;
cout<<"Input year,month,day:";
cin>>date.year>>date.month>>date.day;
int days;
days=day(date.year,date.month,date.day);
cout<<date.month<<"月"<<date.day<<"日是"<<"年的第"<<days<<"天。"<<endl;
return 0;
}
bool Year(int year)
{
if((year%4==0 && year%100!=0)||(year%400==0))
return true;
else
return false;
}
int Month(int month,int year)
{
int day=0;
switch (month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
day=31;
break;
case 4:
case 6:
case 9:
case 11:
day=30;
break;
case 2:
if(Year(year)==true)
day=29;
else
day=28;
break;
}
return day;
}
int day(int year,int month,int day)
{
int days,i,sum=0;
for(i=1;i<month;i++)
{
sum=sum+Month(i,year);
}
days=sum+day;
return days;
}