用C++写一个nextdate()程序
时间: 2023-11-13 18:05:19 浏览: 93
下面是一个简单的C++程序,用于计算给定日期的下一个日期:
```c++
#include <iostream>
using namespace std;
bool isLeapYear(int year) {
if (year % 400 == 0) {
return true;
} else if (year % 100 == 0) {
return false;
} else if (year % 4 == 0) {
return true;
} else {
return false;
}
}
void nextDate(int day, int month, int year) {
int daysInMonth[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
if (month < 1 || month > 12) {
cout << "Invalid month" << endl;
return;
}
if (day < 1 || day > daysInMonth[month-1]) {
cout << "Invalid day" << endl;
return;
}
if (isLeapYear(year)) {
daysInMonth[1] = 29;
}
if (day == daysInMonth[month-1]) {
day = 1;
if (month == 12) {
month = 1;
year++;
} else {
month++;
}
} else {
day++;
}
cout << "Next date is: " << day << "/" << month << "/" << year << endl;
}
int main() {
int day, month, year;
cout << "Enter date in format of dd mm yyyy: ";
cin >> day >> month >> year;
nextDate(day, month, year);
return 0;
}
```
该程序首先定义了一个`isLeapYear()`函数,用于判断给定年份是否为闰年。接下来,`nextDate()`函数接收三个参数:day、month和year,它们分别代表给定日期的日、月和年。该函数首先检查日期是否有效,然后根据闰年和月末的天数计算出给定日期的下一个日期,并将其输出到屏幕上。最后,`main()`函数要求用户输入日期,并调用`nextDate()`函数来计算下一个日期。
阅读全文