编程实现一个输入指定范围内的整数的函数getint,其完整的函数原型为:int getint(int min, int max);,它负责接收用户的输入进行验证,保证接收的一定是一个介于min和max之间([min, max]区间内)的一个整数并最后返回该整数。如果用户输入不合法,则会提示继续输入,直到输入合法时为止。要求编写完整的程序并测试你所写的getint函数。
时间: 2024-03-25 10:35:45 浏览: 122
好的,下面是我为您编写的完整程序,包括getint函数和测试代码:
```c++
#include <iostream>
using namespace std;
int getint(int min, int max) {
int num;
while (true) {
cout << "请输入一个" << min << "到" << max << "之间的整数:" << endl;
cin >> num;
if (cin.fail() || num < min || num > max) {
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(), '\n');
cout << "输入不合法,请重新输入!" << endl;
} else {
return num;
}
}
}
int main() {
int min = 1;
int max = 10;
int num = getint(min, max);
cout << "您输入的整数是:" << num << endl;
return 0;
}
```
上面的程序中,getint函数接收两个参数,代表输入整数的范围[min, max]。函数使用while循环不断提示用户输入,如果输入不合法则清空输入流并提示重新输入,否则返回合法的整数值。
测试代码中,我们设定输入范围为1到10,然后调用getint函数进行输入,并将返回的整数打印出来。
您可以将上述代码复制到本地编译运行,测试getint函数是否能够正常工作。
阅读全文