Number guessing function using while and if else functions

while x>a || x<a
%This classifies the user's input if the guess is above or below the program will tell the user their guess is incorrect
if x>a || x<a
%This classifies the user's input if the guess is above or below the program will tell the user their guess is incorrect
disp('You are to high/low please guess again \n')
else x=a
disp('You''ve got it!')
end
I'm wanting to run a program that uses a random number and outputs if the user defined input is a correct guess or else the program prompts the user to keep inputting guesses until they are correct.

5 Comments

while x>a || x<a
is the same as
while ~isnan(x) && x ~= a
Anyhow, you did not ask us a question.
Our question would probably be "Where are you accepting input from the user?"
I'm sorry this is the full code I have for the problem. Right now it asks the user once and then you can't keep inputting until you're right. How do I make it so the user has to still input an answer until they match the correct random variable?
function guessing
a=randi(20); %Output one random number.
disp('I am thinking of a number between 1 and 20 \n') %Displays text
x=input('Input your guess \n');% Asks user to input a number
if x>a
%This classifies the user's input if the guess is above or below the program will tell the user their guess is incorrect
disp('You are to high guess again \n')
elseif x>a
disp('You''re too high, guess again')
elseif x == a
disp('You''ve got it!')
else x=input('Input your guess \n');
end
if x<a
disp('You are too low guess again \n');
elseif x>a
disp('You''re too high, guess again')
elseif x == a
disp('You''ve got it!')
else x=input('Input your guess \n');
end
end
while x ~= a
if x > a
too high
else
too low
end
input a new guess
end
just right
The code doesn't seem to be working.
function guessing
a=randi(20); %Output one random number.
disp('I am thinking of a number between 1 and 20 \n') %Displays text
x=input('Input your guess \n');% Asks user to input a number
while x ~= a
if x > a
%This classifies the user's input if the guess is above or below the program will tell the user their guess is incorrect
disp('You are to high guess again \n')
else x > a
disp('You''re too high, guess again')
end
x=input('Enter a new guess \n')
end
disp('Are you a jedi? You guessed right!')
The function does not settle on a number
else x > a
means the same thing as
else
disp(x > a)
Both branches of your code talk about the person being too high, with no branch saying they are too low.

Sign in to comment.

Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Asked:

on 22 Mar 2019

Commented:

on 23 Mar 2019

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!