The possible responses are a, b, c, or d. A file has been created that contains the following:
1st line: The answer key consists of 20 lower case letters that represent the correct answers to the exam. There will be no blank spaces between the letters.
Example: abcdabcdabcdabcdabcd
2nd-last line: Each line will start with the first and last names of a student (names will be separated by at least one blank space). The names may be in a mixture of upper and lower case letters. The names will be followed by at least 1 blank space and then that student's responses to the test questions will be provided. There will not be any blank spaces between the responses, but they may be in a mixture of upper and lower case letters. An upper case letter should be considered correct if it matches the lower case equivalent in the key.
Example: biLL jOnEs aBcdAbCDabDcabDDABCD
NOTE: The key will consist of exactly 20 characters. However, the student responses may consist of more or less than 20 characters. Assume that the first 20 characters in a student response correspond to the 20 test questions.
In other words if a student only provides 15 answers, then the last 5 questions are wrong. If a student provides 25 answers, the last 5 responses should be ignored.
Design a C++ program that will interactively prompt for and read the name of the input file interactively prompt for and read the name of a file to write the output of the program to write the following to the specified output file your name, section #, assignment # a report that displays the names of the students along with their test scores (see formatting specifications below) the number of students who took the test with a label (maximum class size is 50) the class average displayed with 3 digits to the right of the decimal and a label the standard deviation of the test scores with 3 digits to the right of the decimal and a label display the highest score and list the names of the students who received it Grading a Test Each of the questions on the test is worth 5 points.
The test score is the # of correct responses multiplied by the point value of a question. Computation of Average and Standard Deviation If n = # of values, and datai = the ith value, Formatting Requirements for Output Arrange information in the grade report into 2 columns with headings. The first columns should be labeled "NAME" and the second column "SCORE". Reformat names so that the first letter of each name is capitalized and the remaining letters are lower case. Left justify the names (maximum length of full name is 20 characters, 10 per name). Right justify the scores and display with no decimals (maximum score is 100) Leave a blank line before and after the statistics (student count, average and standard deviation).
When displaying the list of students with the high score, each name should be on a separate line. Input File Assumptions/Definitions maximum number of students will be 50 the names and responses for each student will be on a separate line of the file each line of the file will be terminated by a linefeed the input file will exist and not be empty.
REQUIREMENTS The program must make use of functions to modularize the code. No global variables or goto statements can be used in the program. The input file can only be opened once for reading. Arrays MUST be used to store the names of students and scores on the exams.
Records and/or classes CANNOT BE USED to store the names and scores.