В одном задании, которое я делаю для начинающего класса C++, я должен написать программу, которая проверяет пользователя на математических навыках. У меня две проблемы:
void addition(){
srand (50);
int result=0;
int points=0;
int counter=0;
int nbr1 = 100 % rand();
int nbr2 = 100 % rand();
cout<<nbr1<<" + "<<nbr2<<" = ";
cin>>result;
if(result == nbr1+nbr2){
cout<<"CORRECT";
points+=10;
return;
}
if(result !=nbr1+nbr2){
counter++;
cout<<"WRONG. TRY AGAIN";
}
if (counter == 1){
points+=5;
}
if (counter == 2){
points+=2;
}
if (counter >= 2){
points=0;
cout<<" WRONG!The anwser is "<<nbr1+nbr2<<endl;
return;
}
(одна функция в коде)
Два вопроса:
1) числа, сгенерированные программой, всегда были 110. Есть ли способ держать числа случайными (не всегда 110 :) и менее 100?
2) Как я могу продолжить процесс задавания вопросов после одной процедуры? Теперь он заканчивается сразу после ввода пользователем одного значения:
110 + 110 = 220
CORRECT Program ended with exit code: 0
Заранее спасибо!
Вы должны давать srand
разное значение каждый раз, чтобы получить разные числа, вы можете использовать время:
#include <time.h>
srand(time(NULL));
Вы всегда используете одно и то же семя для srand, попробуйте srand(time(NULL));
rand() %100;
вместо100 % rand();