This is Matlab using the loop function The local Drivers Lic
This is Matlab, using the loop function
The local Driver\'s License Office has asked you to write a
program that grades the written portion of the driver\'s license
exam. The exam has 20 multiple-choice questions. Here are the
correct answers:
1.B 6.A 11.B 16.C
2.D 7.B 12.C 17.C
3.A 8.A 13.D 18.B
4.A 9.C 14.A 19.D
5.C 10.D 15.D 20.A
Your program should store the correct answers shown above in an
array. It should ask the user to enter the student\'s answers for
each of the 20 questions, and the answers should be stored in
another array. After the student\'s answers have been entered, the
program should display a message indicating whether the student
passed or failed the exam. (A student must correctly answer 15 of
the 20 questions to pass the exam.)
It should then display the total number of correctly answered
questions, the total number of incorrectly answered questions,
and a list showing the question numbers of the incorrectly
answered questions.
Input Validation: Only accept the letters A, B, C, or D as
answers.
IMPORTANT: Your program must display informative messages
for both input inquiry and output display.
Solution
% matlab code
correctAnswers = [\'B\',\'D\',\'A\',\'A\',\'C\',\'A\',\'B\',\'A\',\'C\',\'D\',\'B\',\'C\',\'D\',\'A\',\'D\',\'C\',\'C\',\'B\',\'D\',\'A\'];
booleanAnswer = [];
correct = 0;
answer = \'\';
for i=1:length(correctAnswers)
while true
fprintf(\"Enter answer for question %d: \",(i+1));
answer = input(\" \",\'s\');
if ((strcmp(answer,\'A\') == 0 | strcmp(answer,\'B\')==0 | strcmp(answer,\'C\')==0 | strcmp(answer,\'D\')==0 )
break
else
disp(\"Invalid Input\ \");
end
end
if strcmp(correctAnswers(i),answer) == 1
correct = crrect + 1;
booleanAnswer(i) = 1;
else
booleanAnswer(i) = 0;
end
end
fprintf(\"Total correct answers: %d\ \",correct);
if correct >= 15
disp(\"Student passed\");
else
disp(\"Student Failed\");
end
disp(\"Incorrectly answered questions: \")
for i=1:length(booleanAnswer)
if booleanAnswer(i) == 0
fprintf(\"Question number: %d\ \",(i+1));
end
end
% end matlab code

