I’m using the following code to calculate and display the final score for a math game in C++.
int score = (correctNumber / 3) * 100;
cout << score;
The variable “correctNumber” is always a value between 0 and 3. However, unless “correctNumber” = 3, then the variable “score” always equals “0”. When “correctNumber” equals 3 then “score” equals 100.
Say “correctNumber” was equal to 2. Shouldn’t “score” be 67 then? Is this some issue with int variable type being unable to calculate decimal points?
You are doing math as integer so 1 / 3 is 0.
Try:
and if you want to round: