因此,我正在尝试创建一个程序,该程序具有一个永无休止的while循环,除非用户按下某个键退出。现在,我非常确定需要使用while循环,但是我不确定100%如何工作。我一直在尝试添加错误消息。用户应该输入带编号的等级,它会计算出gpa,但是我需要验证用户输入以确保它是数字,并且介于0到100之间,但是在我将错误消息放入循环中之后,它永远不会结束(字面上是它会一遍又一遍地在页面上显示消息,而我不会触摸任何东西 有人可以解释吗?
this.elementsRequest$
这是我的代码^
答案 0 :(得分:1)
一个C ++ while循环,
while (condition) statement
将反复评估statement
,同时 condition
评估为true
。
导致无限循环的一个常见问题是创建一个程序,该程序从不修改condition
使其变为false
。例如,在您的程序中,条件为validGrade
,您已将其初始化为true
。 您是否修改过validGrade
?如果不是,该条件将永远保持true
,从而永远循环。
您提到对grade
进行检查,但似乎您尚未实施检查。考虑如何修改条件变量以确保循环最终终止。
我也鼓励您阅读一些教程,以更好地理解while循环。 Here's one开始您。
答案 1 :(得分:0)
您的while循环条件已初始化为true
。因此,它应该无限期运行。根据您的问题,我认为您正在尝试检查输入流:
int main() {
int grade; // input
char y; //determines what letter to press to exit
bool validGrade = true; //determines if grade is valid
cout << "Enter percentage grades to convert to grade points. Press [y] to exit.";
cin >> y;
while(cin >> grade) {
cout << "Percentage Grade: ";
if (!validGrade) {
cout << "* Invalid input. Please try again and enter a numeric value.";
} } }