How can i manage a wrong input, whitout restart the my script ?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Pietro Fiondella
am 22 Jun. 2022
Kommentiert: Voss
am 22 Jun. 2022
I'm writing a script that works whit many input that have to be typed chosing from different possile case.
How can i re-load the question for input if a not allowed choice is typed?
For example consider this script for converting a temperature value from Celsius to Kelvin and inverse (This script works on Matlab but not here!)
clc
T=input ("Set the value of the temperature to convert " );
A=input ('Choose the unit of measure (C for Celsius or K for Kelvin )', 's');
switch A
case 'C'
A= T+273.15
case 'K'
A=T-273.15
end
So, how can i manage a wrong input ?
For example if i digit 'F' instead of 'C or 'K' ant the input A=Input( 'Choose the unit of measure (C for Celsius or K for Kelvin )) i would obtain only an error message.I would like to set the script in such a way that it can automatically restart the from the missed input
0 Kommentare
Akzeptierte Antwort
Voss
am 22 Jun. 2022
Generally, for this method of gathering user input, you would use a while loop that iterates until the input is valid.
Something like this:
is_valid = false;
while ~is_valid
A = input('Choose the unit of measure (C for Celsius or K for Kelvin )', 's');
if ismember(A,{'C','K'})
is_valid = true;
end
end
Or, equivalently:
while true
A = input('Choose the unit of measure (C for Celsius or K for Kelvin )', 's');
if ismember(A,{'C','K'})
break
end
end
2 Kommentare
Voss
am 22 Jun. 2022
Try this:
while true
T = str2double(input('Set the value of the temperature to convert ', 's'));
if ~isnan(T)
break
end
end
str2double returns NaN for non-numeric input.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Function Creation finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!