定义一个日期类Date,内有数据成员年、月、日,另有成员函数:构造函数用于初始化数据成员,输出,闰年的判断。 编写主函数:创建日期对象,计算并输出该日是该年的第几天。 输入格式: 测试输入包含若干测试用例,每个测试用例占一行。当读入0 0 0时输入结束,相应的结果不要输出。
时间: 2024-02-22 09:55:58 浏览: 52
好的,这是一个比较典型的面向对象编程问题,我可以帮你解答。以下是一个C++的示例代码:
```c++
#include <iostream>
using namespace std;
class Date {
public:
int year, month, day; // 数据成员
Date(int y, int m, int d) { // 构造函数
year = y;
month = m;
day = d;
}
void output() { // 输出日期
cout << year << "-" << month << "-" << day << endl;
}
bool isLeapYear() { // 判断是否是闰年
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
return true;
} else {
return false;
}
}
int getDayOfYear() { // 计算该日是该年的第几天
int dayOfYear = 0;
int daysInMonth[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
if (isLeapYear()) { // 如果是闰年,2月有29天
daysInMonth[2] = 29;
}
for (int i = 1; i < month; i++) {
dayOfYear += daysInMonth[i];
}
dayOfYear += day;
return dayOfYear;
}
};
int main() {
int y, m, d;
while (cin >> y >> m >> d) {
if (y == 0 && m == 0 && d == 0) { // 输入0 0 0时输入结束
break;
}
Date date(y, m, d); // 创建日期对象
cout << date.getDayOfYear() << endl; // 计算并输出该日是该年的第几天
}
return 0;
}
```
这段代码定义了一个日期类Date,内有数据成员年、月、日,另有成员函数:构造函数用于初始化数据成员,输出,闰年的判断。在主函数中,循环读入日期,创建日期对象,计算并输出该日是该年的第几天,直到输入0 0 0时输入结束。
阅读全文