如何限制while循环运行的次数? C ++

时间:2015-10-22 01:25:54

标签: c++ while-loop

#include <iostream>
#include <cmath>
#include <ctime>
#include <cstdlib>
using namespace std;

int main( )
{
    int number1; 
    int number2;
    int answer; 
    srand(time(0));
    number1= rand()%10+1;
    number2= rand()%10+1;
    cout<< number1 <<" + " << number2 << endl; 

    cin>> answer; 

    if(number1 + number2 == answer) {
        cout << "correct"<< endl; 

    }
    else {
        cout << "Incorrect" << endl; 
        cout << "Answer:" << number1 + number2;
    }

    while(number1+number2==answer) {

    }
    return 0;
}

我正在尝试制作一个程序,询问用户一个简单的数学问题。在最后一步中,用户必须正确回答三个问题,然后循环结束。

如果用户回答错误,循环将继续。我的问题是我该怎么做?我对如何设置循环以使程序正常工作感到困惑。

2 个答案:

答案 0 :(得分:1)

您必须添加计数器变量

ex:int count = 0;

当count变量达到3时,你会在while循环

中执行 break 语句

每次用户得到一个好的答案时,你必须增加变量

答案 1 :(得分:1)

根据您的评论,您应该有一个while循环,其中包含三个问题,以及一个正确答案数量的计数器。如果用户正确地解决了所有三个问题,那么您可以摆脱循环,否则您会再次提出所有三个问题。所以这样的事情可能适合你:

int total = 0;

while (1) {
    cin >> answer;

    if (number1 + number2 == answer) {
        cout << "correct"<< endl;
        ++total;
    }
    else {
        cout << "Incorrect." << endl;
    }

    // include two more questions with if and else statements

    // check if all three answers correct
    if (total == 3) {
        cout << "You got every answer right!" << endl;
        break;
    }
    else {
        cout << "You got " << 3 - total << " questions wrong.";
        total = 0;
    }
}