Filter löschen
Filter löschen

How to create multiple conditions for invalid inputs?

1 Ansicht (letzte 30 Tage)
RealA
RealA am 24 Apr. 2019
Kommentiert: Rena Berman am 15 Mai 2019
Hey everyone, I'm currently building a unit converter program for an assignment and I'm struggling to create a loop that repeats a certain message if certain conditions are not met. For example if I were to leave x blank and spam enter it would repeat the message which is want I want. However if I were to enter a value that is below 0 or above 10 , and then leave x blank and press enter, I would get an error(red line), in this instance I would like my code to reapeat the isempty(x) loop. How would I achieve this?
Thanks in advance
x=input(' enter a number from the selection above: ');
while isempty(x)
disp('You are required to enter a number from the options above!')
x=input(' enter a number from the selection above: ');
end
while(x<=0 || x>=10)
disp('The number must be between 1 and 9, you have enterd a value oustide the limit')
x=input(' enter a number from the selection above: ');
end

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 24 Apr. 2019
while ~isscalar(x) || x <= 0 || x >= 10
  2 Kommentare
RealA
RealA am 24 Apr. 2019
Thanks for the response, just one thing though if I were enter a value that is below 0 or above 10 and leave the input blank and press enter, I would like my code to also run the same display message as the isempty loop. How could I do that?
Walter Roberson
Walter Roberson am 24 Apr. 2019
prompt = ' enter a number from the options above: ';
x = input(prompt);
while ~isscalar(x) || x <= 0 || x >= 10
disp('You are required to enter a number from the options above!');
x = input(prompt);
end

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by