Borrar filtros
Borrar filtros

How do I user error check letters except "yes" or "no"?

3 visualizaciones (últimos 30 días)
Karl
Karl el 27 de Nov. de 2022
Respondida: Walter Roberson el 27 de Nov. de 2022
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" ?

Respuesta aceptada

Image Analyst
Image Analyst el 27 de Nov. de 2022
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

Más respuestas (1)

Walter Roberson
Walter Roberson el 27 de Nov. de 2022
Use questdlg or listdlg . You get to specify the exact responses possible. The only response that the user can give that is not one on the list, is if the user asks to cancel the operation.

Categorías

Más información sobre Dialog Boxes en Help Center y File Exchange.

Etiquetas

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