Hello, everyone. I'm wondering if anyone could help me with a program I'm working on. Here's the instructions:
The program will grade a series of exams and then print a grade report for students in a course.
Input: An instructor has a class of students each of whom takes a multiple-choice exam with 10 questions. For each student in the class, there is one line in the input file. The line contains the answers that student gave for the exam. The input file named "grade_data.txt" will have the following format:
line 1: the key for the exam (e.g.)
bccbbadbca
lines 2-n:
a set of answers. You know you are done when you get to a line with no data.
Note: You will not know in advance how many exams you have to grade and you don't need to store the exam answers in your program.
Processing: The program is to read the input file and grade each exam and print out the score for that exam. You will also keep track of how many students earned each score (0-10) and print a report after the grading.
Output: Here is an example of how the output might appear. You will write the report to an output file named "grade_report.txt"
student 1 - 8
student 2 - 10
student 3 - 1
etc.
Final Report
------------
10 - 4
9 - 2
8 - 3
.
.
1 - 3
0 - 0
high score - 10
low score - 1
mean score - 6.25
My problem is with the bold part. I know that I need to store each grade into a separate array, then print it out when that's done, but I can't seem to get the storing function to work.
your update scores function is completely useless just delete it. You don't need to store the individual grades. Just the number of students who got the grade. All you need to do is declare an array that can hold 10 integers and initialize it to zero eg. int scores[11] = {0}; then after you calculate the grade you increment the proper element of the array eg scores[grade]++; so if grade is 10 then the tenth element of the array will now be 1.
infile >> key >> exam; should be infile >> key;
lines 48 and 49 should be deleted they don't do anything.
line 44 should be more like for (int i = 0; i < key.size(); i++)
you should also be checking to make sure you file opened properly, and you need to call close on the file.