Why do I get this response 'Operands to the || and && operators must be convertible to logical scalar values.'?

1 vue (au cours des 30 derniers jours)
I wrote this so a user could input a numeric grade and the letter grade would display. I am new to matlab and any help is greatly appreciated.
clear, clc
input('Enter a Grade in Numerical Form?','s');
Grade=ans;
G=Grade;
if G>=90&&G<=100
fprintf('A\n')
end
if G>=80&&G<90
fprintf('B\n')
end
if G>=70&&G<80
fprintf('C\n')
end
if G>=60&&G<70
fprintf('D\n')
end
if G<60
fprintf('F\n')
end
[EDITED, Jan, please format your code - thanks!]

Réponse acceptée

Nirmal
Nirmal le 23 Juil 2012
G=str2num(Grade);
G will be a string so you need to convert that to a number using the str2num function. Its better to use if elseif rather than multiple if statements.
  1 commentaire
Philip
Philip le 23 Juil 2012
Thanks for the help. I will also change it around if it is better to use if elseif.

Connectez-vous pour commenter.

Plus de réponses (1)

Jan
Jan le 23 Juil 2012
G = input('Enter a Grade in Numerical Form?');
if G > 100
% do nothing
elseif G>=90
fprintf('A\n')
elseif G>=80
fprintf('B\n')
elseif G>=70
fprintf('C\n')
elseif G>=60
fprintf('D\n')
else
fprintf('F\n')
end

Catégories

En savoir plus sur Programming dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by