有人能帮我完成输入验证功能吗。我正在验证整数输入。问题是当用户输入多个整数my cin时。fail()对每个整数运行,导致我的错误显示多次。让我告诉你我的意思
这是我的代码:
#include <iostream>
//#include "Uni.hpp"
#include <string>
using std::cout;
using std::cin;
using std::endl;
using std::string;
using std::getline;
int main()
{
bool repeat;
int choice;
repeat = false;
//Give user options
cout << "Enter 1: Print building information" << endl;
cout << "Enter 2: Print people information" << endl;
cout << "Enter 3: Assign work to a Student or instructor." << endl;
cout << "Enter 4: Exit program." << endl;
cin >> choice;
//First check for correct data type integers only in this case
while (cin.fail())
{
cout << "Enter only an integer please. Try again." << std::endl;
cin.clear();
cin.ignore();
cin >> choice;
}
//run program until user exits
while (choice != 4)
{
if (choice == 1)
{
cout << "Print building info" << endl;
}
if (choice == 2)
{
cout << "Print people info" << endl;
}
if (choice == 3)
{
cout << "Assign work" << endl;
}
if (choice > 4)
{
cout << "Not a valid choice. Choose " << endl;
}
cout << endl;
cout << endl;
//give options again
cout << "Enter 1: Print building information" << endl;
cout << "Enter 2: Print people information" << endl;
cout << "Enter 3: Assign work to a Student or instructor." << endl;
cout << "Enter 4: Exit program." << endl;
cin >> choice;
//data type validation
while (cin.fail())
{
cout << "Enter only an integer please." << endl;
cin.clear();
cin.ignore();
cin >> choice;
}
因此,如果用户要输入“jjj”;我的“请只输入整数”显示三次。我只想让它显示一次。我不知道怎么做。有什么想法吗?
首先测试cin.fail,打印一次消息,然后处理并清除循环中的字符。这将解释例如,人们键入“bbb”,这将触发循环中的三次运行,但它只会给你一次消息:
if (cin.fail())
{
cout << "Enter only an integer please." << endl;
}
//data type validation
while (cin.fail())
{
cin.clear();
cin.ignore();
cin >> choice;
}
您还可以将指令/输入验证代码移动到while循环的顶部,然后您不需要在while循环之外重复它
根据经验,您永远不应该信任从最终用户收到的数据, 并且应该在充分利用之前对其进行验证。 要给 model 填充其所需的用户输入数据,你可以调用 yii\base\Model::validate() 方法验证它们。该方法会返回一个布尔值,指明是否通过验证。若没有通过,你能通过 yii\base\Model::$errors 属性获取相应的报错信息。比如, $model = new \app\mode
我正在做一个Windows Phone8.1项目。在XAML中,我有两个文本框,一个代表名字,另一个代表最后一个,还有一个按钮。在button click事件中,如果textbox中的任一个(或两个)为/为空,我希望显示一条消息,表示“blah blah blah blah”。 我试了很多方法,但都没能得到这个。这是我能得到的最好的,但它在某种程度上不起作用: 使用DataContext,我会得到
我目前设置了一个函数,该函数要求用户输入一个int,获取该int,然后检查以确保输入符合特定规范。在这种情况下,输入应该是一个介于-10和100之间的整数。现在,如果我输入任何字母字符串,例如“gfUIWYDUF”,函数将返回0。为什么会发生这种情况,我该如何解决?
问题内容: 我是这个C ++世界的新手,正在尝试为数字密码编写输入验证功能。这是我到目前为止所得到的: 对于不正确的值,它工作得很好,但在有效输入时不会中断循环。知道我在这里缺少什么吗?干杯!! James Kanze脚本的ErroR: 新代码: 使用 和 验证作为字符串 感谢所有人(尤其是James Kanze)的帮助。这件事在这里很有效。 那里还有进一步改进的空间吗?干杯!! 问题答案: 这看
主要内容:输入验证,应用代码,实例解析AngularJS 表单和控件可以验证输入的数据。 输入验证 在前面的几个章节中,你已经学到关于 AngularJS 表单和控件的知识。 AngularJS 表单和控件可以提供验证功能,并对用户输入的非法数据进行警告。 客户端的验证不能确保用户输入数据的安全,所以服务端的数据验证也是必须的。 应用代码 < !DOCTYPE html > < html > < script src= "http:/