在我为初学者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
提前致谢!
答案 0 :(得分:0)
你总是在srand使用相同的种子,试试srand(time(NULL));
答案 1 :(得分:0)
每次为了得到不同的数字,你需要给srand
一个不同的值,你可以使用时间:
#include <time.h>
srand(time(NULL));