【发布时间】:2020-04-13 03:42:30
【问题描述】:
假设我有一个名为“varFloat”的浮点变量,我使用 cin 允许用户输入数字,如何防止用户输入字母?
我有一个计算器程序,如果输入的是字母而不是数字,就会中断。
cout << "Enter num1: ";
cin >> num1;
cin.ignore();
do
{
//Select function
cout << "Enter a function ('+' '-' '*' '/'):";
getline(cin, function);
if (function == "+" || function == "-" || function == "*" || function == "/")
{
break;
}
else
{
cout << function << " IS AN INVALID FUNCTION" << endl;
}
} while (function != "+" || function != "-" || function != "*" || function != "/");
如果为 num1 输入一个字母,程序似乎会跳过 getline 并无休止地打印“IS AN INVALID FUNCTION”。
【问题讨论】:
标签: string floating-point int cin