请编写函数,求某年某月的天数,即该月的最大日数。 函数原型 // 月天数 int MaxDayMonth(int year, int month); 说明:参数 year和month 为年份和月份,若参数正确有效,则函数值为该月的最大日数,否则为0。 在头文件 MyDate.h 中声明日期类。
时间: 2023-12-06 20:45:07 浏览: 107
以下是 MyDate.h 头文件中日期类的实现,包括 MaxDayMonth 函数的定义:
```c++
#include <iostream>
class Date {
public:
Date(int y = 0, int m = 0, int d = 0) : year(y), month(m), day(d) {}
~Date() {}
// 判断是否为闰年
bool isLeapYear() const {
return ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0);
}
// 计算该月的最大日数
int MaxDayMonth() const {
int max_day;
switch (month) {
case 2:
max_day = isLeapYear() ? 29 : 28;
break;
case 4:
case 6:
case 9:
case 11:
max_day = 30;
break;
default:
max_day = 31;
break;
}
return max_day;
}
private:
int year;
int month;
int day;
};
```
使用方法:
```c++
#include "MyDate.h"
int main() {
int year, month;
std::cout << "请输入年份和月份,用空格分隔:" << std::endl;
std::cin >> year >> month;
Date date(year, month);
int max_day = date.MaxDayMonth();
if (max_day == 0) {
std::cout << "输入的年份或月份有误!" << std::endl;
} else {
std::cout << "该月最大日数为:" << max_day << std::endl;
}
return 0;
}
```