Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/128.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我怎样做一个C++;当用户输入一个整数时,程序会抛出一个错误吗? 如何在C++中进行简单的验证?_C++_Validation - Fatal编程技术网

我怎样做一个C++;当用户输入一个整数时,程序会抛出一个错误吗? 如何在C++中进行简单的验证?

我怎样做一个C++;当用户输入一个整数时,程序会抛出一个错误吗? 如何在C++中进行简单的验证?,c++,validation,C++,Validation,我的意思是,当用户输入一个整数时,我如何让程序抛出一个错误,当用户输入一个字符串时,如何让用户重新输入,直到输入一个字符串为止 有没有一个简单的方法可以做到这一点 谢谢尝试使用将用户输入的字符串转换为整数。如果操作失败,则表示用户输入的不是整数的字符串表示形式(继续程序执行)。如果操作成功,则意味着用户输入的是整数的字符串表示形式。在这种情况下,请用户提供其他输入。请记住,strol将成功地将类似于12345qwerty的字符串转换为整数 如果您想检查输入的字符串是否仅包含数字,则应该遍历所有字

我的意思是,当用户输入一个整数时,我如何让程序抛出一个错误,当用户输入一个字符串时,如何让用户重新输入,直到输入一个字符串为止

有没有一个简单的方法可以做到这一点


谢谢

尝试使用将用户输入的字符串转换为整数。如果操作失败,则表示用户输入的不是整数的字符串表示形式(继续程序执行)。如果操作成功,则意味着用户输入的是整数的字符串表示形式。在这种情况下,请用户提供其他输入。请记住,
strol
将成功地将类似于
12345qwerty
的字符串转换为整数


如果您想检查输入的字符串是否仅包含数字,则应该遍历所有字符串字符,并检查是否使用.E.P/>>P>数字。标准C++的功能集中没有什么东西会在用户要求字符串时“阻止”用户输入随机数字。您必须编写一些代码来确定输入是否有效-例如,检查字符串的每个字符是否为数字。根据确切的标准,“无数字”或“不能是唯一的数字”或其他什么,您必须拿出代码来检查它

有用的功能是
isdigit
,它需要
#include
。还有其他有用的功能,如
isalpha
isspace
,等等


当然,要给出错误消息,您需要使用一些合适的打印函数,要重复,请使用一些
do while
while
或类似的构造。

当用户输入整数的字符串表示形式时,他会输入一个字符串。用户总是输入一个字符串。您要做的是验证它,并确保它是数值的,并且它代表一个整数。我想你可以在这里找到你需要的所有信息:你能展示一个预期的、有效的和ivalid输入的例子吗?你永远不能“在C++中输入一个整数”。为什么总是有一个白痴在人们的问题上毫无理由地输入-1?重复的选择:
std::all\u of
std::any\u of
,或者
std::none\u of
。例如,
if(std::all_of(input.begin(),input.end(),&::isdigit)){}