+ 1
[solved]Why the score function/method is not working in my program, please can anyone help me 😢
#include<iostream> #include<cstdlib> #include<ctime> using namespace std; int r_num1,r_num2,score=0,life=3; class ran{ public: void random() { r_num1=1+(rand()%6); r_num2=1+(rand()%6); } /*int life(){ public: life--; return life; }*/ void score(){ public: score+=1; } }; int main() { int ans,c_ans; srand(time(0)); ran o; while(true){ o.random(); c_ans=r_num1+r_num2; cout<<r_num1<<"+"<<r_num2<<"="<<endl; cin>>ans; if(ans==c_ans) { cout<<o.score()<<endl<<"score:"<<score<<endl; } } return 0; }
3 Réponses
+ 3
Jayakrishna🇮🇳 thanks and your explanation is wonderful I understood everything 😌
+ 1
//Working code ..
//but it may modified to better by taking class variable instead of global variables... You have infinite loop, make it to limited.
//Read comments.. and reply if anything is not understandable....
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int r_num1,r_num2,score=0,life=3;
class ran{
public:
void random()
{
r_num1=1+(rand()%6);
r_num2=1+(rand()%6);
}
/*int life(){
public:
life--;
return life;
}*/
void rscore(){ //already used score as variable name so I changed function name..
//public: //its not valid here to put.
score+=1;
}
};
int main()
{
int ans,c_ans;
srand(time(0));
ran o;
while(true){
o.random();
c_ans=r_num1+r_num2;
cout<<r_num1<<"+"<<r_num2<<"="<<endl;
cin>>ans;
if(ans==c_ans)
{
o.rscore(); // it wont returning anything so just call like this
cout<<"score:"<<score<<endl;
}
break;//to terminate loop, instead loop limited times by a counter variable.
}
return 0;
}
+ 1
You're welcome..