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

12 ビュー (過去 30 日間)
Lauren-Xante Claassen
Lauren-Xante Claassen 2023 年 7 月 19 日
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

採用された回答

Matt J
Matt J 2023 年 7 月 19 日
編集済み: Matt J 2023 年 7 月 19 日
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 件のコメント
Lauren-Xante Claassen
Lauren-Xante Claassen 2023 年 7 月 19 日
Hi Matt,
This seems to be displaying the error even when I enter in correct values?
Lauren-Xante Claassen
Lauren-Xante Claassen 2023 年 7 月 19 日
Thanks a million - it finally works!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeStartup and Shutdown についてさらに検索

製品


リリース

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by