In my Guess my Number Game program How can I get it to print
In my “Guess my Number Game” program. How can I get it to print a summary showing the average number of guesses after all games have been played? In MATLAB.
disp(\'instructions: \');
disp(\'Guess a number 1 to 100 and see how many guesses it takes.\');
clear
min=1;
max=100;
% Generates a random integer
answer=randi(max);
number_of_guesses=0;
guess=-min;
% Loop that ask the player for a number and lets them know if its too high or low
while(guess~=answer)
guess=input(\'Guess a number between 1 and 100: \');
number_of_guesses=number_of_guesses+1;
if(guess<answer)
fprintf(\'Your guess was too low! \ \',guess)
elseif(guess>answer)
fprintf(\'Your answer was too high! \ \',guess)
else
fprintf(\'Congratulation! The number was %i. \ \',answer)
% Total number of guesses for the game
fprintf(\'It took you %i guesses to get it right. \ \',number_of_guesses)
end
end
% How well the player did
if (number_of_guesses<10)
fprintf(\'Great job! \ \')
else
fprintf(\'You can do better than that. \ \')
end
% Allows the user to play as many times as they would like
fprintf(\'Would you like to play again?\')
yes=1;
no=0;
y=input(\' Enter yes or no: \');
n=1;
if y==n;
number_game
else y<n;
clear
clc
end
Solution
It is so simple you just need to add one more loop in the program The working code is given below
MATLAB CODE
clc;
disp(\'instructions: \');
disp(\'Guess a number 1 to 100 and see how many guesses it takes.\');
clear;
min=1;
max=100;
ext = 1;
GuessVar = 0;
CountVar = 0;
while (ext)
% Generates a random integer
answer=randi(max);
number_of_guesses=0;
guess=-min;
% Loop that ask the player for a number and lets them know if its too high or low
while(guess~=answer)
guess=input(\'Guess a number between 1 and 100: \');
number_of_guesses=number_of_guesses+1;
if(guess<answer)
fprintf(\'Your guess was too low! \ \',guess)
elseif(guess>answer)
fprintf(\'Your answer was too high! \ \',guess)
else
fprintf(\'Congratulation! The number was %i. \ \',answer)
% Total number of guesses for the game
fprintf(\'It took you %i guesses to get it right. \ \',number_of_guesses)
end
end
GuessVar = GuessVar + number_of_guesses;
CountVar = CountVar + 1;
% How well the player did
if (number_of_guesses<10)
fprintf(\'Great job! \ \')
else
fprintf(\'You can do better than that. \ \')
end
% Allows the user to play as many times as they would like
fprintf(\'Would you like to play again?\')
yes=1;
no=0;
y=input(\' Enter yes or no: \');
if y == 0
fprintf(\'Brilliant play! you took an average of %i guesses in the game\',GuessVar/CountVar);
ext = 0;
end
end
SAMPLE OUTPUT
instructions:
Guess a number 1 to 100 and see how many guesses it takes.
Guess a number between 1 and 100: 60
Your answer was too high!
Guess a number between 1 and 100: 33
Your answer was too high!
Guess a number between 1 and 100: 20
Your guess was too low!
Guess a number between 1 and 100: 30
Your answer was too high!
Guess a number between 1 and 100: 25
Your guess was too low!
Guess a number between 1 and 100: 28
Congratulation! The number was 28.
It took you 6 guesses to get it right.
Great job!
Would you like to play again? Enter yes or no: yes
Guess a number between 1 and 100: 50
Your guess was too low!
Guess a number between 1 and 100: 25
Your guess was too low!
Guess a number between 1 and 100: 10
Your guess was too low!
Guess a number between 1 and 100: 9
Your guess was too low!
Guess a number between 1 and 100: 5
Your guess was too low!
Guess a number between 1 and 100: 1
Your guess was too low!
Guess a number between 1 and 100: 0
Your guess was too low!
Guess a number between 1 and 100: 0
Your guess was too low!
Guess a number between 1 and 100: 2
Your guess was too low!
Guess a number between 1 and 100: 5
Your guess was too low!
Guess a number between 1 and 100: 3
Your guess was too low!
Guess a number between 1 and 100: 99
Your answer was too high!
Guess a number between 1 and 100: 85
Your answer was too high!
Guess a number between 1 and 100: 60
Your answer was too high!
Guess a number between 1 and 100: 55
Congratulation! The number was 55.
It took you 15 guesses to get it right.
You can do better than that.
Would you like to play again? Enter yes or no: yes
Guess a number between 1 and 100: 50
Your guess was too low!
Guess a number between 1 and 100: 60
Your guess was too low!
Guess a number between 1 and 100: 90
Your guess was too low!
Guess a number between 1 and 100: 99
Your answer was too high!
Guess a number between 1 and 100: 95
Your guess was too low!
Guess a number between 1 and 100: 98
Your answer was too high!
Guess a number between 1 and 100: 97
Your answer was too high!
Guess a number between 1 and 100: 96
Congratulation! The number was 96.
It took you 8 guesses to get it right.
Great job!
Would you like to play again? Enter yes or no: no
Brilliant play! you took an average of 9.666667e+00 guesses in the game>>


