/*
*程序的版权和版本声明部分:
*Copyright(c)2013,烟台大学计算机学院学生
*All rights reserved.
*文件名称:
*作者:刘晓晓
*完成日期:2014年 3月1号
*版本号:v1.0
*对任务及求解方法的描述部分:
*输入描述: 无
*问题描述:定义一个结构变量,要求输入年月日,计算输出该日是该年的第几天
*程序输出:无
*问题分析:
*算法设计:
*/
#include <iostream>
using namespace std;
struct y_m_d
{
int year;
int month;
int day;
};
int main()
{
y_m_d date;
int day_sum;
int days(int,int ,int);//声明day函数
cout<<"input year,month,day:";
cin>>date.year>>date.month>>date.day;
day_sum=days(date.year,date.month,date.day);
cout<<date.month<<"月"<<date.day<<"日是"<<date.year<<"年的第"<<day_sum0<<"天。"<<endl;
return 0;
}
int days(int year,int month,int day)//定义day函数
{
int day_sum=0,i;
int day_tian[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
for(i=1;i<month;i++)
day_sum+=day_tian[i];
day_sum+=day;
if(year%4==0&&year%100!=0||year%4==0&&month>=3)
day_sum+=1;
return(day_sum);
}
这个计算每年的总天数的方法是看的课本上的,,本来我想用if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
return 31;
if (month==4||month==6||month==9||month==11)
return 30;
if (month==2&&leap(year)==1)
return 29;
else
return 28;
这样来计算一年的总天数,,可结果老是出错。。我再试试吧