C++l定义一个结构变量(包括年,月,日),计算该日在本年的第几天
时间: 2023-11-15 21:05:02 浏览: 133
可以通过以下代码实现:
```c++
#include <iostream>
using namespace std;
struct Date {
int year;
int month;
int day;
};
int daysInMonth(int year, int month) {
switch (month) {
case 2:
return (year % 4 == 0 && year % 100 != 0) || year % 400 == 0 ? 29 : 28;
case 4:
case 6:
case 9:
case 11:
return 30;
default:
return 31;
}
}
int dayOfYear(Date date) {
int days = 0;
for (int i = 1; i < date.month; i++) {
days += daysInMonth(date.year, i);
}
days += date.day;
return days;
}
int main() {
Date date = {2022, 1, 1};
int day = dayOfYear(date);
cout << "Day of year: " << day << endl;
return 0;
}
```
这里先定义了一个 `Date` 结构体,包括年、月、日三个成员变量。接着定义了一个函数 `daysInMonth`,用于计算某个月份有多少天。在 `dayOfYear` 函数中,通过循环累加每个月份的天数,再加上当前日期的天数,即可计算出当前日期在本年的第几天。在 `main` 函数中,我们定义了一个 `Date` 变量,并调用 `dayOfYear` 函数计算出该日期在本年的第几天,并输出结果。
阅读全文