The local Driver\'s License Office has asked you to write a program that grades
ID: 3628361 • Letter: T
Question
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
The program should store the correct answers 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.
Explanation / Answer
please rate - thanks
#include <iostream>
using namespace std;
int main()
{char correct[]={"BDAACAADBBBDCACCADAA"}; //check these
char student[20];
int right=0,wrong=0,i;
for(i=0;i<20;i++)
{cout<<"Enter answer for question "<<i+1<<": ";
cin>>student[i];
student[i]=toupper(student[i]);
if(student[i]<'A'||student[i]>'D')
{cout<<"invalid entry - try again ";
i--;
}
}
cout<<" The questions you got wrong are numbers: ";
for(i=0;i<20;i++)
{if(student[i]==correct[i])
right++;
else
{wrong++;
cout<<i+1<<" ";
}
}
if(right>=15)
cout<<" Great News you passed :) ";
else
cout<<" Sorry you failed :( ";
cout<<" Total correct answers: "<<right;
cout<<" Total wrong answers: "<<wrong<<endl;
system("pause");
return 0;
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.