如何解决C ++程序在应终止时重复
我一直在尝试制作C ++“数学导师”程序。目的是询问用户是否要进行加法,减法或乘法,一旦他们做出选择并且计算完成,就会提示他们键入0终止程序,并键入1重复该程序。 我尝试为此使用do-while循环,但是当我运行它时,我发现只要用户按下0或1,程序就会重复执行,并且永远不会终止。 这是代码(没有数学部分,因为这确实无关紧要):
#include <cstdlib>
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
/*
* program to serve as math tutor for a young student
*/
int main(int argc,char** argv) {
int repeatChoice = 0;
//actual program has more variables here,but those are all math variables.
do {
//in this area was just code for the actual math part
cout << "Do you want to repeat this program (0 for no,1 for yes)?" << endl;
cin >> repeatChoice;
while (repeatChoice != 0 && repeatChoice != 1) {
cout << "Invalid input. Please select 0 or 1." << endl;
cin >> repeatChoice;
}
if (repeatChoice = 0)
break;
} while (repeatChoice = 1);
return 0;
}
如果有人认为看到完整的代码会有所帮助,我将编辑问题以添加它。 请注意,我是编程的新手,还没有真正研究任何复杂的概念,所以请您以相对简单的术语进行解释。
解决方法
从我可以看到的问题出在代码的这一部分:
...
if (repeatChoice = 0)
break;
} while (repeatChoice = 1);
...
您正在使用赋值运算符=
而不是比较运算符==
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。