请用c++生成一段判断输入的年月日是否是真实存在的年月日的代码(考虑闰年)
时间: 2024-04-10 13:26:47 浏览: 60
c++代码输入年月日,判断平年还是闰年并打印出那天是那年的第几天
5星 · 资源好评率100%
当然可以!以下是一个用C++编写的判断输入的年月日是否是真实存在的年月日的代码,考虑了闰年的情况:
```cpp
#include <iostream>
bool isLeapYear(int year) {
if (year % 4 != 0)
return false;
else if (year % 100 != 0)
return true;
else if (year % 400 != 0)
return false;
else
return true;
}
bool isValidDate(int year, int month, int day) {
if (year < 1 || month < 1 || month > 12 || day < 1)
return false;
int daysInMonth;
switch (month) {
case 2:
daysInMonth = isLeapYear(year) ? 29 : 28;
break;
case 4:
case 6:
case 9:
case 11:
daysInMonth = 30;
break;
default:
daysInMonth = 31;
break;
}
return day <= daysInMonth;
}
int main() {
int year, month, day;
std::cout << "请输入年份: ";
std::cin >> year;
std::cout << "请输入月份: ";
std::cin >> month;
std::cout << "请输入日期: ";
std::cin >> day;
if (isValidDate(year, month, day))
std::cout << "输入的日期是合法的。" << std::endl;
else
std::cout << "输入的日期是不合法的。" << std::endl;
return 0;
}
```
这段代码中,`isLeapYear`函数用于判断是否为闰年,`isValidDate`函数用于判断输入的年月日是否是合法的日期。在`main`函数中,我们通过用户输入来获取年、月、日,并调用`isValidDate`函数来判断输入的日期是否合法。如果合法,则输出"输入的日期是合法的",否则输出"输入的日期是不合法的"。
希望这段代码能帮到你!如果有任何疑问,请随时提问。
阅读全文