如何在用户输入字母而不是数字时循环返回
how to loop back if a user enters a letter instead of a number c++
我的程序识别出用户输入了一个字母而不是一个数字,但它不要求用户在此之后输入。我需要能够提示用户输入另一个值,这是一个数字,并创建一个循环或其他东西,将检查值,每次确保它不是一个字母/s。
这是我的代码中检查无效字符的部分:
while (!cin.good())
{
cout << "Error! I only accept numbers! Enter in a number." << endl;
cin.clear();
cin.ignore(numeric_limits<streamsize>::max());
}
尽管这可能很简单…这就回答了我的问题:http://www.dreamincode.net/forums/topic/186890-c-excluding-letters-on-user-input/
千万不要这样做:
int j;
cin >> j;
因为what只读取数字,而你需要读取数字以外的东西,这样你就可以在输入数字时报告错误
相关文章:
- 函数如何使用引用返回所需的数字?
- 如何优化代码以返回最接近给定整数的数字,但给定列表中不存在?
- 返回 int 中可被 2 c++ 整除的所有数字的总和
- C++ python 中的函数返回数字而不是字符串
- 使用非托管导出将字符串从 C# 返回到C++将返回数字
- 我的代码应该接受一个数字,并返回字母等级或"Grade is not valid"但 else 语句不起作用
- 如何返回一串字母数字字符中的最大值(例如-1A003B3)?
- 将 MPFR 数字转换为字符串并返回
- C++ 递归:返回数字的最小偶数
- typeid.name 返回派生类类型之前的数字
- Fibbonaci 递归代码返回错误值,始终返回下一个数字
- 为什么我的阶乘数查找器返回以C++输入的数字?(已编辑)
- 尝试编写函数尝试从字符串中提取数字,但它返回不相关的数字
- 随机函数在循环中调用时返回相同的数字!C++
- 将字符转换为ASCII返回数字太大
- 为什么此范围基于语句返回一个数字太低的范围
- 根据另一个数字的可整除性返回子数组中的索引
- 如果数组中有重复的数字,如何返回'false'?
- 递归计算满足条件的值数并返回该数字
- C++余数以较高的数字返回 7