0

我正在编写一个简单的小脚本,我试图不允许人们输入一个字符串,或者如果他们确实让它再次恢复到函数的开头。这是我的输入代码:

int main()
{
    cout << "Input your first number" << endl;
    cin >> a;
    cout << "Input your second number" << endl;
    cin >> b;
}

这部分之外的其余代码对于正在发生的事情都很好,尽管如果在这里输入一个字符串,它显然不起作用。

任何帮助,将不胜感激。

4

3 回答 3

1

你可能会发现这篇文章很有用,

如何在 C++ 中检查输入是否为数字

基本上你可以检查输入,是否是数值。检查给定输入是否为数字后,您可以在 main 中添加一个 while 循环,以要求用户在输入不是有效数字时重复。

于 2013-01-18T04:16:45.933 回答
0

每个输入都是一个字符串。如果您想知道输入的字符串是否可以转换为数字,您必须读取字符串并尝试自己进行转换(例如使用strol)。

另一种方法是检查从 cin 读取是否失败,但我个人不喜欢它,因为 cin.fail() 涵盖的错误情况不仅仅是类型转换失败。

于 2013-01-18T04:18:38.547 回答
0

有一个库函数可能会有所帮助,您可以在输入后检查它:

int isdigit(char c);

提示: 1.你应该包括这样的文件:

# include <ctype.h>

2.如果c在0~9,返回1;否则返回 0。

于 2013-01-18T11:55:52.010 回答