gpt4 book ai didi

c++ - 无法在 C++ 中中断 while 循环

转载 作者:太空宇宙 更新时间:2023-11-04 14:37:49 25 4
gpt4 key购买 nike

我创建了一个程序,用于计算棱柱的体积和矩形的面积。但我希望用户决定他想使用这个程序多长时间:

#include <iostream>
using namespace std;

int main()
{
bool run = true;
while(run = true){
double len,width,area,volume,height;
char check;
cout << "Please, enter length,width and height of a prism(rectangular)!";
cin >> len >> width >> height;
area = width*len;
volume = area*height;
cout << "The area of rectangle is equal to: " << area << "\n" << "The volume of rectangular prism is equal to: " << volume << "\n";
cout << "Do you want to try again?(y/n)\n";
cin >> check;
while(check != 'y'|| check != 'n'){
cout <<"Please enter y or n\n";
cin >> check;
}
if(check == 'n'){
run = false;
break;
}
}
return 0;
}

在第一部分一切正常,但我无法摆脱这个循环:

while(check != 'y'|| check != 'n'){
cout <<"Please enter y or n\n";
cin >> check;
}

我哪里做错了,我该如何改正?

最佳答案

while (run = true)总是 true , 它具有设置 run 的副作用至 true .

你想要吗== ?你的编译器没有警告你吗?更好的是,放弃重言式 run == true然后写while (run) .

然后将另一个条件固定为while (check != 'y'&& check != 'n') .想想这个:check != 'y'|| check != 'n'总是 true (如果 checky ,那么它就不是 n )。 那个逻辑错误非常常见。

最后,我不确定您通过介绍和维护 run 真正实现了什么.为什么不将其替换为 while (true) , 然后写 return 0;代替 break

关于c++ - 无法在 C++ 中中断 while 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46730061/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com