Ошибка в переменной счетчика?

У меня есть быстрый вопрос о сбое в этой кодировке.

Когда я запустил эту программу, и она вошла в этот цикл (введя 1 в качестве числа), все прошло гладко, за исключением того, что хотя я и вошел ++generalcounter1; в теле цикла, кажется, что он не добавляется к этой переменной каждый раз, когда цикл воспроизводится. Он никогда не запускает сообщение, которое предполагается запустить, когда переменная == 10.

Пожалуйста, помогите мне, я очень расстроен! Ваш совет очень ценится!

Извините, если это было неясно, я новичок в этом сайте, а также программирование.

while (number == 1){
int addend1;
int addend2;
int sum;
int answer1;
int generalcounter1 = 0;
int reply1;

++generalcounter1;

addend1 = 1 + rand() % 50;
addend2 = 1 + rand() % 50;

sum = (addend1 + addend2);

cout << "\nWhat is " << addend1 << " plus " << addend2 << "? ";
cin >> answer1;

if (answer1 == sum){
reply1 = winstatement();
}
else{
reply1 = losestatement();
}

if (generalcounter1 == 10){

if (rightanswers >= 8){
cout << "\nCongratulations, you are ready to go to the next level!\n" << endl;
}
else{
cout << "\nPlease ask your teacher for extra help.\n" << endl;
}
}
}

0

Решение

Вы объявляете новый generalcounter1 каждая итерация цикла, увеличивая его и уничтожая в конце итерации. Переместите объявление за пределы цикла, чтобы каждый раз увеличивать только одно, а не новое каждый раз, когда оно просто уничтожается до того, как его увеличивают вдвое.

int generalcounter1 = 0;
while (number == 1) {
//loop body
}
4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]