写一个C++代码用于检验一个八位日期是否合法
时间: 2024-05-02 19:21:03 浏览: 100
用c语言实现判断日期是否合法的函数
5星 · 资源好评率100%
以下是一个C语言代码示例,用于检验一个八位日期是否合法:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_valid_date(int year, int month, int day) {
if (year < 0 || month < 1 || month > 12 || day < 1) {
return false;
}
// 计算每个月的最大天数
int max_days[] = {31, 28 + (year % 4 == 0 && year % 100 != 0 || year % 400 == 0), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
if (day > max_days[month - 1]) {
return false;
}
return true;
}
int main() {
int year, month, day;
printf("请输入一个八位日期(格式:YYYYMMDD):");
scanf("%d%d%d", &year, &month, &day);
if (is_valid_date(year, month, day)) {
printf("日期合法\n");
} else {
printf("日期不合法\n");
}
return 0;
}
```
该程序首先检查年份、月份和日期是否在合法范围内。然后,它使用一个数组来存储每个月的最大天数,并检查给定日期是否小于或等于该月的最大天数。如果日期合法,则返回true,否则返回false。
在main()函数中,程序首先要求用户输入一个八位日期,并将该日期传递给is_valid_date()函数进行检查。如果日期合法,则输出“日期合法”,否则输出“日期不合法”。
阅读全文