在 while 循环中找不到错误?
Can't find the error in while loop?
我设置了一个while循环,用于过滤错误的输入。我正在输入第一个while循环的条件为false的数字,2和35,但它正在屏幕上打印"请输入两个正整数"。不应该,而且我找不到我的错误。很抱歉,如果这是一个愚蠢的问题,非常新的初学者。非常感谢您的帮助!感谢
这就是打印到屏幕上的内容:
输入测试素数的范围。输入两个正整数,较小的第一个,用空格分隔。
2
35
请输入两个正整数。
//Input range
cout << "Enter range to test for primes. Enter two positive integers, the smaller first, separated by whitespace.n";
cin >> range_min >> range_max;
cout << range_min << range_max;
//Check if input is valid.
while (range_min < 0)
{
cout << "Please input two *positive* integers.n";
cin >> range_min >> range_max;
while (range_max < 0)
{
cout << "Please input two *positive* integers.***n";
cin >> range_min >> range_max;
while (range_min > range_max)
{
cout << "Please input the smaller integer first.n";
cin >> range_min >> range_max;
}
}
}
如果在while
语句中添加另一个表达式,您将受益匪浅:
while ((range_min < 0) || (range_max < 0))
{
cout << "Please enter positive range values: ";
cin >> range_min >> range_max;
}
"||"表示逻辑或。它被读取为,而range_min<0或range_max<0。
如果为True,则使用它时的构造也将接受值3和-1作为外部的合法范围,而循环只检查range_min值。如果range_min为3,因此大于0,则while循环将不会执行。
因此,在一些情况下,您希望用户输入新值:
1) 二者中有一者为阴性或两者均为
2) 两者均为正但相等,或者range_min大于range_max
while ((range_min < 0 || range_max <= 0) || ((range_min>0 && range_max>0) && (range_min-range_max)<=0 )) {
cout << "Invalid range! Enter two new values: ";
cin >> range_min >> range_max;
}
但好吧,这仍然不能解释你所描述的行为的原因。我编译了你的代码,没有注意到这样的行为。第一个问题是,这是否是一个可复制的"错误"?这两个数字总是一样吗?
相关文章:
- 静态链接库时,收到链接器错误:找不到 -lgcc_s
- C++ ZBar cmake 错误"找不到文件"时包括
- GTK+3 编译错误"找不到信号处理程序",您是否使用 -rdynamic 进行了编译?
- SWIG c++ 到 C# 错误找不到入口点SWIGRegisterExceptionCallbacks_xxxx
- NDK R20 LD:LD:错误:找不到-lpthread
- 双重释放或损坏错误(找不到错误?
- 错误找不到-lglu
- 错误:找不到匹配的超载函数
- 生成文件错误 - 找不到文件 - *.cpp
- Qt 创建器错误:找不到 -lopencv_imgcodecs
- 无法配置 AGENT++ 配置: 错误: 找不到合适的 libsnmp++ 库
- CMake 错误:找不到变量.ACE_INCLUDE_DIR(高级)
- CMake 包含错误(找不到文件、未定义引用)
- 链接错误:找不到__thiscall函数符号,但定义了__cdecl函数符号
- 运行时错误:找不到与 ImageSensor 匹配的 Python 模块
- 编译错误:找不到库
- CMake错误:找不到包含目录和库
- Mac OSX:构建opencv_contrib致命错误:找不到文件 opencv2/core.hpp
- Qt 创建者编译错误"找不到 UIC.exe从 msvc 2012 路径"
- Ubuntu - 链接 boost.python - 致命错误:找不到 pyconfig