#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;
}
我正在尝试制作一个程序,询问用户一个简单的数学问题。在最后一步中,用户必须正确回答三个问题,然后循环结束。
如果用户回答错误,循环将继续。我的问题是我该怎么做?我对如何设置循环以使程序正常工作感到困惑。
答案 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;
}
}