Effacer les filtres
Effacer les filtres

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

4 vues (au cours des 30 derniers jours)
jarvan
jarvan le 11 Nov 2014
Commenté : jarvan le 11 Nov 2014
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
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,') ')'], ',)', ')'))
  1 commentaire
jarvan
jarvan le 11 Nov 2014
I have to use any/all in this problem

Connectez-vous pour commenter.

Catégories

En savoir plus sur Argument Definitions dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by