How do I user error check letters except "yes" or "no"?
7 次查看(过去 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 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!