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

1 view (last 30 days)
Philip on 23 Jul 2012
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');
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!]

Nirmal on 23 Jul 2012
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 CommentShowHide None
Philip on 23 Jul 2012
Thanks for the help. I will also change it around if it is better to use if elseif.

### More Answers (1)

Jan on 23 Jul 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