switch case and inequalities

24 visualizzazioni (ultimi 30 giorni)
Rachel Dawn
Rachel Dawn il 7 Feb 2018
Risposto: Stephen23 il 8 Feb 2018
So, say I wanted to disp('that's impossible') if a user enters an age over 150 or less than 0?
How could I do this for a switch case if I can't use inequalities?
I know that between 0 and 150, I could use case num2cell(0:150), but if I don't have bounds for less than zero & over 150, how could I use num2cell?

Risposte (2)

Stephen23
Stephen23 il 8 Feb 2018
It is possible with switch:
age = 200;
switch true
case age>150
disp('that''s impossible!')
case age<0
disp('not born yet!')
end
But using if and elseif might be clearer.

Aaron Winch
Aaron Winch il 7 Feb 2018
switch Age
case num2cell(0:150)
disp('Valid')
otherwise
disp('that''s impossible')
end
  2 Commenti
Rachel Dawn
Rachel Dawn il 8 Feb 2018
hmm.. but what if I wanted to display "that's impossible" for age <0 and "that's not likely" for age >150? Is "switch" code for this possible?
PS thank you!
Aaron Winch
Aaron Winch il 8 Feb 2018
switch Age
case num2cell(0:150)
disp('Valid')
otherwise
if(Age<0)
disp('that''s impossible')
else
disp('that''s unlikely')
end
end
Is there a reason you want to use a switch? If Age is manual input by a user, I think "case num2cell(0:150)' will only match with integers between 0 and 150, so if a user has the ability to input 25.75 for Age, nothing will happen with this logic.

Accedi per commentare.

Categorie

Scopri di più su Environment and Settings in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by