Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

CODE SHOULD BE WRITTEN IN C++ WITH COMMENTS SO BEGINNERS CAN UNDERSTAND. Program meets specifications and works correctly 50% Program is structured well and uses

CODE SHOULD BE WRITTEN IN C++ WITH COMMENTS SO BEGINNERS CAN UNDERSTAND.

image text in transcribed

Program meets specifications and works correctly

50%

Program is structured well and uses structs and dynamic allocation

40%

Program comments and variable names

10%

Further grading rubric:

Using two separate sorting functions: -20

Using an array of structs rather than an array of pointers to structs: -20

The file name is hard-coded to a specific directory and drive: -25

Sorting doesnt work: -15

Averages computed incorrectly: -10

Asg4DataGrades.txt -

1231 Robert_Smith 91 87 72 1233 Cheryl_Overton 98 91 89 1234 Vishal_Sharda 86 92 93 1239 Ramon_Gonzales 91 82 97 1240 Hong_Chang 92 83 98 1242 Misty_Sellers 81 91 92 1243 Kim_Riley 99 92 93 1246 John_Paulos 81 87 88 1249 Scott_Wingo 100 91 99 1251 Jacob_Needleman 97 83 96 1252 Thomas_Paine 92 100 93 1257 Wendy_Sarrett 81 91 79 1262 Izu_Elechi 67 84 99 1212 John_Cole 100 100 100 1213 Poor_Student 49 50 51 1314 Jane_Austen 88 79 92 1315 Isaac_Asimov 92 99 100 
Write a program that grades three exams for a class. Your program will read in lines of data that contain the following items: 1. Student ID (an integer) 2. 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. 3. Grades on three tests. These are integers. The program should ask the user for the file name and loop until it gets a valid name. As you read each student D, 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: 1. Print the list of information in order by name 2. Print the list of information in order of average grade, highest grade first. 3. 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 D, the name, the three test scores, and the average, displaying 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 running 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. Do not have two separate sorts within one function. The data file provided is called Asg4Grades.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

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

More Books

Students also viewed these Databases questions

Question

What types of problems?

Answered: 1 week ago

Question

Determine the amplitude and period of each function.

Answered: 1 week ago

Question

2. What, according to Sergey, was strange at this meeting?

Answered: 1 week ago

Question

3. Are our bosses always right? If not, what should we do?

Answered: 1 week ago