习题7.2 编写一个函数days,实现上面的计算。由主函数将年月日传递给days,计算出该日在本年中是第几天并将结果传回主函数输出。
代码:
#include<iostream>
using namespace std;
struct Date
{
int year;
int month;
int day;
};
int main()
{
int days;
int func(int, int, int);
Date d1;
cout << "请输入年、月、日:" << endl;
cin >> d1.year >> d1.month >> d1.day;
days = func(d1.year, d1.month, d1.day);
cout << "该日是本年的第" << days << "天";
return 0;
}
int func(int year, int month ,int day)
{
int days, i;
int month_[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
days = day;
for (i = 0; i != month - 1; ++i)
{
days += month_[i];
}
if (((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) && month >= 2)
{
++days;
}
return days;
}