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


