用c++编写程序,使用类,输入一个日期,输出这个日期的下一天,比如2023-6-30的下一天是2023-7-1
时间: 2024-03-26 20:34:37 浏览: 50
好的,我们可以使用类来实现这个程序。首先,我们定义一个日期类,包含年、月、日三个私有成员变量:
```c++
class Date {
private:
int year;
int month;
int day;
public:
Date(int y, int m, int d) : year(y), month(m), day(d) {}
void setYear(int y) { year = y; }
void setMonth(int m) { month = m; }
void setDay(int d) { day = d; }
int getYear() const { return year; }
int getMonth() const { return month; }
int getDay() const { return day; }
bool isLeapYear() const {
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
Date getNextDay() const {
int daysInMonth[] = {31, 28 + isLeapYear(), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
if (day < daysInMonth[month - 1]) {
return Date(year, month, day + 1);
} else {
if (month == 12) {
return Date(year + 1, 1, 1);
} else {
return Date(year, month + 1, 1);
}
}
}
};
```
在类中,我们定义了一个构造函数来初始化日期,以及几个访问和修改成员变量的方法。我们还定义了两个成员函数,isLeapYear用于判断是否为闰年,getNextDay用于计算下一天的日期。
在主函数中,我们可以使用 cin 输入日期,然后调用 getNextDay 函数计算下一天的日期,并使用 cout 输出结果:
```c++
#include <iostream>
using namespace std;
class Date {
private:
int year;
int month;
int day;
public:
Date(int y, int m, int d) : year(y), month(m), day(d) {}
void setYear(int y) { year = y; }
void setMonth(int m) { month = m; }
void setDay(int d) { day = d; }
int getYear() const { return year; }
int getMonth() const { return month; }
int getDay() const { return day; }
bool isLeapYear() const {
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
Date getNextDay() const {
int daysInMonth[] = {31, 28 + isLeapYear(), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
if (day < daysInMonth[month - 1]) {
return Date(year, month, day + 1);
} else {
if (month == 12) {
return Date(year + 1, 1, 1);
} else {
return Date(year, month + 1, 1);
}
}
}
};
int main() {
int year, month, day;
cout << "请输入日期(格式为YYYY-MM-DD):" << endl;
scanf("%d-%d-%d", &year, &month, &day);
Date date(year, month, day);
date = date.getNextDay();
printf("下一天的日期是:%04d-%02d-%02d\n", date.getYear(), date.getMonth(), date.getDay());
return 0;
}
```
这个程序可以读入一个日期,计算其下一天的日期,并输出结果。
阅读全文