Program Specifications

Assume grading scale is:

A: 90%-100%
B: 80%-89%
C: 70%-79%
D: 60%-69%
E: < 60%

The input student file is called STUDENTDATA.TXT and has the following fields:

Student ID - NNNN (4 numbers)
First Name - Up to 10 letters
Last Name - Up to 10 letters
Grade - NN.N (Grade percentage. Ex. 84.8. Round up when doing calculations)
Program - Either MSIT or MSCM

Your program will use a console/command line-based user interface.

Your program will display readable results to the command line unless results are to be written to a file.

Your program should exit gracefully

Your program will overwrite any output files.

Output files will be in the same format as the input file, STUDENTDATA.TXT

You will comment your program

Menu options

Your program must have a menu. The menu functionality (Not in any particular order. The ordering is up to you):

Exit program
Display invalid records
Create new file with invalid records called BADRECORDS.TXT
Display average grade for all students
Display average grade for each program
Display records for grade distributions
Display highest grade record
Display lowest grade record
Display students in MSIT
Display students in MSCM
Sort all records in ascending order by student ID and display
Sort all records in ascending order by student ID and create a new file called SORTED.TXT with results
Academic Honesty!
It is not our intention to break the school's academic policy. Posted solutions are meant to be used as a reference and should not be submitted as is. We are not held liable for any misuse of the solutions. Please see the frequently asked questions page for further questions and inquiries.
Kindly complete the form. Please provide a valid email address and we will get back to you within 24 hours. Payment is through PayPal, Buy me a Coffee or Cryptocurrency. We are a nonprofit organization however we need funds to keep this organization operating and to be able to complete our research and development projects.