开发一个能够生成合法年月日的测试用例自动生成的小工具,要求使用c++语言
时间: 2023-06-14 07:08:00 浏览: 93
设计一个显示年日历的程序_c++小程序_
5星 · 资源好评率100%
好的,可以使用C++的随机数生成函数来实现。以下是一个简单的实现:
```cpp
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
srand((unsigned)time(NULL)); // 初始化随机数生成器
// 生成年份
int year = rand() % 2022; // 生成0到2021年之间的随机数
if (year == 0) year = 1; // 如果随机数为0,将年份设为1
// 生成月份
int month = rand() % 12 + 1; // 生成1到12月之间的随机数
// 生成日份
int day;
switch (month)
{
case 2: // 二月份
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
day = rand() % 29 + 1; // 闰年2月份有29天
else
day = rand() % 28 + 1; // 平年2月份有28天
break;
case 4: // 四月份
case 6: // 六月份
case 9: // 九月份
case 11: // 十一月份
day = rand() % 30 + 1; // 这4个月份有30天
break;
default: // 其他月份
day = rand() % 31 + 1; // 其他月份有31天
break;
}
// 输出年月日
cout << year << "-" << month << "-" << day << endl;
return 0;
}
```
这个程序使用了 `srand` 函数初始化随机数生成器,然后使用 `rand` 函数生成随机数,最后根据生成的年份和月份计算出当月的天数。注意,这个程序生成的年份不包括2022年,如果需要生成2022年的数据,可以将 `rand() % 2022` 改为 `rand() % 2023`。
阅读全文