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?

 Akzeptierte Antwort

pietro
pietro am 11 Nov. 2014
Bearbeitet: pietro am 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 Kommentare

jarvan
jarvan am 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 am 11 Nov. 2014
I have edited the answer
jarvan
jarvan am 11 Nov. 2014
it works now..thank you

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

MA
MA am 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,') ')'], ',)', ')'))

Kategorien

Mehr zu Automotive finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 11 Nov. 2014

Kommentiert:

am 11 Nov. 2014

Community Treasure Hunt

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

Start Hunting!

Translated by