Grade Book. Develop a Windows Form Application (in C#) that a professor could use to record student grades for several classes and save the records in sequential files. Each class has three hour exams and a final exam. The file for a single class should consist of the number of students in the class, call it n, and a record of five fields (name, grade1, grade2, grade3, and final) for each student, with the records ordered alphabetically by the student's name. (A typical name might appear as "Doe. John".)
Initially, the four grade fields should contain zeros. The program should contain a top-level menu item, File, with second-level sub-items for Open, Save, Add Student, and Remove Student. When a file is opened (via an OpenFileDialog control), the data for the students should be loaded into a list box. (The last two columns should remain blank.) The professor should be able to enter (or alter) exam data by double-clicking on a line of the list box to invoke a second form as a customized dialog box for inputting grades. When a student is added, the student is inserted in proper alphabetical position.
When the Calculate Semester Grades button is clicked the last two columns should be filled in by the program. (Assume that the final exam counts as two hour exams.) If a grade is changed after the last two columns have been filled, the corresponding average and grade should be recomputed. see image.
Class
You will develop and use a C# class called Student.cs which will be having the following field variables and methods:
Fields
_firstName, _lastName
_exam1, exam2, _exam3, _finalExam
Methods
_CalculateAverage (): will calculate and return average
_CalculateLetAverage(): will calculate and return the letter Grade
Exception Handling
The user should only be able to enter whole number for the grades.
The program should also include exception handling code blocks when reading and writing to the file.