Using struct and class data type to write a simple student records report program with sorting function.
As records secretary for Cougar High School, you have been asked by the principal to prepare a report on the grades of some of the school's top athletes. Specifically, you must print each of the athlete's average letter grades based on their scores from three academic courses. Input will be taken from the file [url removed, login to view], which is organized as follows: Each athlete in the file has four lines of information recorded - name (at most 20 characters including the comma and white space), student ID (SS#), class rank (1=Freshman, 2=Sophomore, 3=Junior, 4=Senior), and the three scores. Information for at most 15 athletes is stored in the file, but the first line of the file contains an integer showing the exact number of athletes.
Use struct data type as data representation of a student record and use separate fields for first names and last names. Then, define a class to hold an array of student records and encapsulate some member functions which will be used to do the specified reporting as described in the following. Look at the sample specification file proj2_prototype.h for the suggested data type declarations.
You can assume that all scores are integers from 0 to 100. Output should be printed out on screen. Athletes' names ID numbers, class, ranks, and, letter grades are to be printed twice, the first time in alphabetical order by last name, with "A" students first, "B" students second, and so forth. In cases when the last names of more than one students are the same, sort the student records with the same last name in alphabetical order by first name. The second time they are to be printed in alphabetical order by last name, with freshman students first, sophomore students second, and so forth. Also sort student records by first names in cases when last names are the same. (Note the difference from Project 1.) Note that the students' names are printed out in the format of "Lastname, Firstname", e.g., "Zitt, Kevin"; the column of student ID numbers should be aligned at least one space beyond the maximum name length, the column of class ranks should be aligned at least one space beyond the column of student IDs, and the column of grades should be aligned at least one space beyond the column of class ranks.
I would require the Project's program source code and a diskette containing the header (.h) file, source code (.cpp file), and the I/O files.
I am also attaching the sample Implementation file, with the desired output.
This is a beginner's project. And this projecty has a deadline within the next 24hrs current date (03/10/2009)