我正在尝试制作一个仅允许用户输入0到1的cin。如果用户没有输入这些数字,那么他应该会收到一条错误消息:“请输入0到1。”
但是它不起作用。
我究竟做错了什么?
int alphaval = -1;
do
{
std::cout << "Enter Alpha between [0, 1]: ";
while (!(std::cin >> alphaval)) // while the input is invalid
{
std::cin.clear(); // clear the fail bit
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); // ignore the invalid entry
std::cout << "Invalid Entry! Please Enter a valid value: ";
}
}
while (0 > alphaval || 1 < alphaval);
Alpha = alphaval;
最佳答案
试试这个:
int alphaval;
cout << "Enter a number between 0 and 1: ";
cin >> alphaval;
while (alphaval < 0 || alphaval > 1)
{
cout << "Invalid entry! Please enter a valid value: ";
cin >> alphaval;
}
关于c++ - CIN在一定范围内,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23234338/