How do I prompt user to re-input value if first attempt is incorrect?

12 visualizzazioni (ultimi 30 giorni)
I am trying to prompt user to input a value for R^2, accepting or rejecting value within a range 0-1. If value is correct, proceed to next input question. If value is incorrect, display error message to user and re-prompt them to insert new value within range. Currently, I get the error but it does not allow me to re-enter a new value for that variable, it simply continues to next prompt. I need to create a loop of some kind but am not sure how?
prompt = inputdlg('Please enter an R^2 value for Cement:');
data = str2double(prompt);
if 0<= data && 1>=data
else
errordlg('Input must be between the values 0-1.');
end
prompt = inputdlg('Please enter an R^2 value for Blast Furnace:');
data = str2double(prompt);
if 0<= data && 1>=data
else
errordlg('Input must be between the values 0-1.');
return
end

Risposta accettata

Matt J
Matt J il 19 Lug 2023
Modificato: Matt J il 19 Lug 2023
Something like this, perhaps?
exit=false;
msg='Please enter an R^2 value for Cement: '
while ~exit
data = str2double( inputdlg(msg) );
exit = (0<= data && 1>=data);
if ~exit
msg = 'Input must be between the values 0-1. Please re-enter: ';
end
end

Più risposte (0)

Categorie

Scopri di più su Startup and Shutdown in Help Center e File Exchange

Prodotti


Release

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by