Question: Language C++ Write a program that grades three exams for a class. Your program will read in lines of data that contain the following items:

Language C++

Write a program that grades three exams for a class. Your program will read in lines of data that contain the following items: Student ID (an integer) Student name, with the first and last name separated by an underscore, as John_Cole. Store this as a string, not as an array of char. Grades on three tests. These are integers. As you read each student ID, dynamically allocate a structure that contains student information. Put the pointer that the new operator returns into an array of fixed size. You can assume that there are no more than 100 students in any class, but the actual number of Student structs you allocate is dependent upon how many you read. So your first step is to read all of the data. While you are doing this, compute the average of the three grades and also store it in the structure. You do not need to check whether there are more than 100 students. Assume that the teacher was careful and there is no bad data in the file. Having read the file and created the array, display a menu containing three options: Print the list of information in order by name Print the list of information in order of average grade, highest grade first. Look up a student by student ID. Request a student ID and search the list. If the student is found, show all of the information for that one student. If not, show a message. Printing should show the student ID, the name, the three test scores, and the average. Display of the average should show it to two decimal places, right-justified in a field seven characters wide. Display the name and scores in columns of appropriate width so that everything lines up neatly. After doing any of the three menu items, return to the menu. Stop when the user enters 0 as his/her choice. Invalid menu choices should show a message, then return to the menu. Use bubble sort for the sorting. Write this as a single function that can sort by either name or average. You can have a parameter to the function indicating which field is to be used for sorting. The data file provided is called Grades.txt. When you open this, just use the file name, no drive letter or subdirectory. Note that since there are no spaces within the data, you can use stream extraction to read the individual elements.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!