Display or print char data
์ด์ ๋๊ธ ํ์
x = input(โEnter the grades: โ)
For i=1:length(x)
if x(i) >= 90
x(i)= 'A';
elseif x(i) >= 80
x(i) = 'B';
elseif x(i) >= 70
x(i) = 'C';
elseif x(i) >= 60
x(i) = 'D';
else
x(i) = 'F';
end
end
disp(x)
- Input:[10 12 90 60 47 78]
- output:[70 70 65 68 70 67]
- # | When I turn on this code, it prints numbers instead of letters on the screen and gives me a warning message that the argument must be of type of char, is there an answer please? (Sorry, the first code wasnโt the desired)๐
๋๊ธ ์: 2
KSSV
2020๋
7์ 18์ผ
The code looks fine.....it prints the grade as string..
Walter Roberson
2020๋
7์ 18์ผ
The code works for me... at least after I removed the _ that you accidentally had at the end of the line.
๋ต๋ณ (2๊ฐ)
madhan ravi
2020๋
7์ 18์ผ
clear all
It worked for me after removing _ at the very end
๋๊ธ ์: 4
madhan ravi
2020๋
7์ 18์ผ
ํธ์ง: madhan ravi
2020๋
7์ 18์ผ
x = input('Enter the grades: ') % enter [10 12 90 60 47 78]
x = num2cell(x);
for ii = 1:numel(x)
if x{ii} >= 90
x{ii}= 'A';
elseif x{ii} >= 80
x{ii} = 'B';
elseif x{ii} >= 70
x{ii} = 'C';
elseif x{ii} >= 60
x{ii} = 'D';
else
x{ii} = 'F';
end
end
celldisp(x)
Adham Ayman
2020๋
7์ 18์ผ
ํธ์ง: Adham Ayman
2020๋
7์ 18์ผ
madhan ravi
2020๋
7์ 18์ผ
categorical(x)
Adham Ayman
2020๋
7์ 18์ผ
Image Analyst
2020๋
7์ 18์ผ
I would use fprintf() instead of disp(). I also wouldn't use the same variable to be a double, and a string, at different times. I think that's bad practice. Here is one way of doing it:
numberGrades = input('Enter the grades (inside brackets) : ')
for k = 1 : length(numberGrades)
if numberGrades(k) >= 90
letterGrade{k} = 'A';
elseif numberGrades(k) >= 80
letterGrade{k} = 'B';
elseif numberGrades(k) >= 70
letterGrade{k} = 'C';
elseif numberGrades(k) >= 60
letterGrade{k} = 'D';
else
letterGrade{k} = 'F';
end
fprintf('A score of %d is an "%s".\n', numberGrades(k), letterGrade{k});
end
numberGrades =
40 88
A score of 40 is an "F".
A score of 88 is an "B".
Another way would be to use a table with numbers in the first column and letters in the second column.
numberGrades = input('Enter the grades (inside brackets) : ')
grades = table(...
'Size', [length(numberGrades), 2],...
'VariableNames', {'NumberGrade', 'LetterGrade'},...
'VariableTypes', {'double', 'string'});
grades{:, 1} = numberGrades'; % Put number grades into column 1.
for k = 1 : length(numberGrades)
if numberGrades(k) >= 90
grades{k, 2} = 'A';
elseif numberGrades(k) >= 80
grades{k, 2} = 'B';
elseif numberGrades(k) >= 70
grades{k, 2} = 'C';
elseif numberGrades(k) >= 60
grades{k, 2} = 'D';
else
grades{k, 2} = 'F';
end
fprintf('A score of %d is an "%s".\n', grades{k, 1}, grades{k, 2});
end
grades
Enter the grades (inside brackets) : [85,77,96]
numberGrades =
85 77 96
A score of 85 is an "B".
A score of 77 is an "C".
A score of 96 is an "A".
grades =
3ร2 table
NumberGrade LetterGrade
___________ ___________
85 "B"
77 "C"
96 "A"
์นดํ ๊ณ ๋ฆฌ
๋์๋ง ์ผํฐ ๋ฐ File Exchange์์ Dynamic System Models์ ๋ํด ์์ธํ ์์๋ณด๊ธฐ
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!