题目:http://blog.csdn.net/sxhelijian/article/details/8639499
【项目2-日期结构体】定义一个结构体变量(包括年、月、日),要求输入年、月、日,计算输出该日是该年的第几天?
分析:
判断是否为闰年,好为2月的天数赋值。
设计了两个函数,一个输入年份与月份,输出本月有的天数;
另一个输入年月日,输出该日是该年的第几天。
代码:
*/
#include "stdafx.h"
#include <iostream>
using namespace std;
struct Date
{
int year;
int month;
int day;
};
int getdays( int year, int month){
int days;
switch(month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days=31;
break;
case 2:
if( ((year%100==0) && (year%400==0)) || year%4==0 )
days=29;
else days=28;
break;
case 4:
case 6:
case 9:
case 11:
days=30;
break;
}
return days;
};
int get_days(int year, int month, int day){
int i,days;
days=0;
for(i=1; i< month; i++){
days+= getdays(year, i);
}
days=days+day;
return days;
};
int main(int argc, char* argv[])
{
Date date;
cout<<"input year,month,day:";
cin>>date.year>>date.month>>date.day;
cout<<date.month<<"月"<<date.day<<"日是"<<date.year<<"年的第"<<get_days(date.year, date.month, date.day)<<"天."<<endl;
return 0;
}