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

10 visualizaciones (últimos 30 días)
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

Respuesta aceptada

Matt J
Matt J el 19 de Jul. de 2023
Editada: Matt J el 19 de Jul. de 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
  2 comentarios
Lauren-Xante Claassen
Lauren-Xante Claassen el 19 de Jul. de 2023
Hi Matt,
This seems to be displaying the error even when I enter in correct values?

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Startup and Shutdown en Help Center y File Exchange.

Productos


Versión

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by