How do I user error check letters except "yes" or "no"?
3 ビュー (過去 30 日間)
表示 古いコメント
reset = 'Yes';
while strcmpi(reset, 'Yes') == 1
rreset = '1'; % reset condition to convert from string
reset = input('Do you want to run this program again? (Choose Yes or No) ','s');
while isempty(reset) == 1 || str2double(reset) >= str2double(rreset) || str2double(reset) <= str2double(rreset)
reset = input('Error, incorrect input. Please only choose between Yes or No ','s');
rreset = '1'; % put the reset condition back in the loop
end
end
Hello all, I'm fairly new to learning about strings. Here is some of my code i am having trouble at the end, I want to give the user an option to reset the program to the top just with "yes" or "no". I got it to error check numbers, however when I put any letters it just stops the program. How can I error check everything except "yes" or "no" ?
0 件のコメント
採用された回答
Image Analyst
2022 年 11 月 27 日
Try this:
buttonText = 'Yes';
titleBarCaption = 'Continue?';
promptMessage = sprintf('Do you want to run the program again?');
loopCounter = 0;
maxIterations = 10; % Failsafe to prevent asking forever and ever.
while strcmpi(buttonText, 'Yes') && loopCounter < maxIterations
loopCounter = loopCounter + 1; % Increment iteration counter (this is our failsafe)
% Code to run some program.......
% Program is done running. Now ask if they want to run it again.
buttonText = questdlg(promptMessage, titleBarCaption, 'Yes', 'No', 'Yes');
if contains(buttonText, 'No', 'IgnoreCase', true)
break; % or return.
end
end
I don't know what you do to run the program. Maybe you just need to put the name of a script as one line of code, or maybe you need to make up a command line string and call system - I have no idea how you run your program
0 件のコメント
その他の回答 (1 件)
参考
カテゴリ
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!