定义一个日期类Date,内有数据成员年、月、日,另有成员函数:构造函数用于初始化数据成员,输出,闰年的判断。
编写主函数:创建日期对象,计算并输出该日是该年的第几天。 输入格式: 测试输入包含若干测试用例,每个测试用例占一行。当读入0 0 0时输入结束,相应的结果不要输出。
输入样例:
2006 3 5
2000 3 5
0 0 0
输出样例:(括号内为说明)
64 (2006年3月5日是该年的第64天)
65 (2000年3月5日是该年的第65天)
Sample Input:
2006 3 25
2000 3 28
0 0 0
Sample Output:
84
88
#include <iostream>
using namespace std;
class Date {
public:
Date(int y, int m, int d):year(y), month(m), day(d) {}
bool isLeap() {
if((year%4==0&&year%100!=0) || year%400==0) return true;
return false;
}
void display() {
int days[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
if(isLeap()) days[2] = 29;
int count = day;
for(int i=1; i<month; i++) {
count += days[i];
}
cout << count << endl;
}
private:
int year;
int month;
int day;
};
int main() {
int year, month, day;
while(cin >> year >> month >> day) {
if(year==0&&month==0&&day==0) break;
Date d = Date(year, month, day);
d.display();
}
return 0;
}