有人可以解释c ++ while循环吗?

时间:2019-02-07 18:02:21

标签: c++

因此,我正在尝试创建一个程序,该程序具有一个永无休止的while循环,除非用户按下某个键退出。现在,我非常确定需要使用while循环,但是我不确定100%如何工作。我一直在尝试添加错误消息。用户应该输入带编号的等级,它会计算出gpa,但是我需要验证用户输入以确保它是数字,并且介于0到100之间,但是在我将错误消息放入循环中之后,它永远不会结束(字面上是它会一遍又一遍地在页面上显示消息,而我不会触摸任何东西 有人可以解释吗?

this.elementsRequest$

这是我的代码^

2 个答案:

答案 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."; 

} } }
相关问题