use any/all test with while loop in range 0:1:10

I do have a vector of quiz grade(which input by reader). the valid grades are in the range of 0:1:10. I have to use any/all test in a while loop
grades = input('Please enter the vector of your grades:')
A = [0:1:10];
while any(grades > A) ~= 1
disp('Please enter the correct vector of your grades')
grades = input('Please enter the vector of your grades:')
end
disp(strrep(['Your grade is: (' num2str(grades, ' %d,') ')'], ',)', ')'))
When I put a input which over the range, it still did not disp that I enter a wrong vector . Is that any part I should fix up?

 Réponse acceptée

pietro
pietro le 11 Nov 2014
Modifié(e) : pietro le 11 Nov 2014
Hi,
while loops until the condition is true, so you to change looping condition:
grades = input('Please enter the vector of your grades:')
while any(grades<0 | grades>10) == 1
disp('Please enter the correct vector of your grades')
grades = input('Please enter the vector of your grades:')
end
disp(strrep(['Your grade is: (' num2str(grades, ' %d,') ')'], ',)', ')'))

3 commentaires

jarvan
jarvan le 11 Nov 2014
when I put in 12 or any number bigger than 10, it still did not disp that I enter a wrong vector.
pietro
pietro le 11 Nov 2014
I have edited the answer
jarvan
jarvan le 11 Nov 2014
it works now..thank you

Connectez-vous pour commenter.

Plus de réponses (1)

MA
MA le 11 Nov 2014
try this
clear all
clc;
grades = input('Please enter the vector of your grades:')
A =[0:1:10];
while grades > A
disp('Please enter the correct vector of your grades')
grades = input('Please enter the vector of your grades:')
end
disp(strrep(['Your grade is: (' num2str(grades, ' %d,') ')'], ',)', ')'))

Catégories

En savoir plus sur Automotive dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by