While loop question, one too many loops happens.

I want the counter to stop counting once the value '1' is entered. If '1' is entered when running this script, the while loop runs once more before ending. I do not want this. Am I using break the wrong way, or is something else happening?
Thanks
counter=0;
y_n=0;
while y_n==0
if y_n==1
break
end
counter=counter+1
y_n= input('enter 1 or 0\n')
end

 Respuesta aceptada

Walter Roberson
Walter Roberson el 11 de Oct. de 2016

0 votos

You just tested that y_n == 0 in the while statement. It cannot have changed value by the very next statement, at which point you test whether y_n==1 . You should move the "if" to after the input() .
Question: What do you want to have happen if the user enters (for example) 2.134473 ? That is not 0 so the while condition will no longer be true, but the if y_n==1 would be false.

3 comentarios

Dan Po
Dan Po el 11 de Oct. de 2016
I might have already tried that. I will check it in the morning. Or now on my phone since there is matlab mobile. Thanks
Dan Po
Dan Po el 11 de Oct. de 2016
Input is not mobile supported. Goodnight.
Dan Po
Dan Po el 11 de Oct. de 2016
Editada: Dan Po el 11 de Oct. de 2016
The matlab online app works as I want, but I will check if my desktop version runs correctly. I was using a live script and was not getting my wanted output. Thank you for your help.
format compact
clear
clc
counter=0;
y_n=0;
while y_n==0
y_n= input('enter 1 or 0 to continue or end the loop \n');
if y_n==1
break
end
counter=counter+1;
fprintf('this is loop %d\n',counter)
end
fprintf('the final count of loops is %d\n',counter)

Iniciar sesión para comentar.

Más respuestas (1)

Dan Po
Dan Po el 15 de Oct. de 2016

0 votos

Could someone refer me to a place that tells how to qualify inputs?

Categorías

Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 11 de Oct. de 2016

Respondida:

el 15 de Oct. de 2016

Community Treasure Hunt

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

Start Hunting!

Translated by