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

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!]

 채택된 답변

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

Thanks for the help. I will also change it around if it is better to use if elseif.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

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

카테고리

도움말 센터File Exchange에서 Scope Variables and Generate Names에 대해 자세히 알아보기

태그

질문:

2012년 7월 23일

Community Treasure Hunt

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

Start Hunting!

Translated by