How to let user enter student id and show the final marks
8 views (last 30 days)
Show older comments
jefferson ang shi wee
on 25 Mar 2016
Edited: jefferson ang shi wee
on 30 Mar 2016
Download the ENG1060studentmarks.txt file. The file contains the following information: 1. Column 1: Student ID 2. Column 2—11: Lab marks (/10) worth 2% each (20% total of final grade) 3. Column 12: Assignment mark (/10) worth 10% of the final grade 4. Column 13: Exam mark (/100) worth 70% of the final grade a) Write a function that accepts a student’s laboratory, assignment and exam marks as inputs to determine the final mark to the nearest integer and the letter grade of the student. Your function header would be similar to: function [final_mark, grade] = markscalc(lab, assignment, exam) Note: The letter grades should be stored as a `string’ and are described as follows: final_mark ≥ 80 70 ≤ final_mark < 80 60 ≤ final_mark < 70 50 ≤ final_mark < 60 final_mark < 50 → HD → D → C → P →F
Write an m-file that achieves the following: 1. Prompts the user to input a student’s ID number and extracts the individual assessment marks from the ENG1060studentmarks.txt file. 2. Use the function written in part a) to calculate the student’s final mark and letter grade. Hint: You may want to use logical statements or the find() command to determine the row of the ID number which was input by the user.
0 Comments
Accepted Answer
Pavel Dey
on 29 Mar 2016
You may refer to the following two functions and create the actual ones.
function y= get_marks(id)
% Gives the marks against the student id
load marks
pos=find(marks(:,1)==id,1);
y=[marks(pos,2) marks(pos,3) marks(pos,4)];
end
function [final_mark, grade]=markscale(input)
%calculates the total marks and grade
final_mark=0.1*input(1)+0.2*input(2)+0.7*input(3);
if(final_mark>50)
grade='pass';
else grade='fail';
end
end
Here I have stored the marks in a mat file called 'marks' which has a variable 'marks' inside it. However, if you are using a text file you may read data using 'fscanf' function.
To generate a random matrix for marks I have used the following code.
marks(:,1)=1:10;
marks(:,2)=randi([1 100],10,1);
marks(:,3)=randi([1 100],10,1);
marks(:,4)=randi([1 100],10,1);
Here the first column is student id and the rest three columns are the marks.
0 Comments
More Answers (0)
See Also
Categories
Find more on Get Started with MATLAB in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!