C++ do-while 循环不循环
C++ do-While loop not looping
这是我的 do-while 循环
do
{
cout << "Enter the temperature tolerance for turning on the cooling" << endl
<< "1.50 <= ToleranceCoolOn <= 6.00 (degrees Celsius)" << endl
<< "and toleranceCoolOn > toleranceHeatOff" << endl;
cin >> tempTolCoolOn;
}
while ( !(tempTolCoolOn < tempTolerCoolOnMax && tempTolCoolOn > tempTolerCoolOnMin) && !(tempTolCoolOn > tempTolHeatOff));
这个想法是,当我键入一个大于tempTolerCoolOnMax(6.0),小于tempTolerCoolOnMin(1.5)和小于tempTolHeatOff(2.0)的数字时,它应该重复循环,直到我得到那些正确的答案。但是,在输入 (6.0001) 后,它会跳过循环并继续下一个循环。关于为什么会发生这种情况的任何想法?
您在程序显示的提示中拥有所需的规范 - 为什么不像那样编写它?
while (! (tempTolCoolOnMin <= tempTolCoolOn && tempTolCoolOn <= tempTolerCoolOnMax && tempTolCoolOn > tempTolHeatOff))
特别是,当您具有逻辑/代数结构时,例如:
1.50 <= ToleranceCoolOn <= 6.00
我发现在语法中尽可能相似地对表达式进行编码很有用C++:
1.50 <= ToleranceCoolOn && ToleranceCoolOn <= 6.00
顺便说一句 - 我不喜欢这些变量名称;我发现它们很难相互区分。
我想你想要
!(tempTolCoolOn < tempTolerCoolOnMax && tempTolCoolOn > tempTolerCoolOnMin && tempTolCoolOn > tempTolHeatOff)
作为循环条件。
它应该是
while ( !(tempTolCoolOn < tempTolerCoolOnMax) && !(tempTolCoolOn > tempTolerCoolOnMin) && !(tempTolCoolOn > tempTolHeatOff));
相关文章:
- 如果条件为TRUE(最佳方式?),则在do while循环中后置增量
- 即使没有满足他们的条件,我也无法通过一些 do-while 循环
- 如何使用 do while 循环确定最高值和最低值
- do while 循环中的 if 语句以 yes 或 no 结尾
- 使用 while 或 do while 退出循环
- 带有开关语句的 do-while 循环 -- 无穷循环错误
- 为什么当我输入一个被接受的数字时,我的 do-while 循环没有中断?
- 为什么我的 Do-while 循环无法在C++中运行菜单
- 如果语句不会在 do - while 循环中运行
- 如何在c++中读取do-while循环中的空白
- 将嵌套的 for 循环更改为 do-while 循环
- 如何修复不会在退出选择时终止的 do-while 循环
- 为什么这个do-while循环每隔一个循环只写入数组?
- C++ do/while 循环和 if/else: 骰子游戏 -- 第 75 行错误:"Cout"之前的预期"While" -- 如何解决这个问题?
- 卡在链表中的无限 Do-while 循环中
- 试图调节我的 do-while 以停止在终端中退出程序.菜单不会根据需要循环使用当前语句
- 使用基本 do-while 循环求解泊松方程
- do-while循环不会退出C
- 如何在C++中使用带有"do while"循环的计数器?
- 无休止的 do while 循环C++代码