$30
Problem Overview:
In this project, the system will provide operations related to the student record system, like adding a new student semester record, changing course grade, statistics, etc. The student's record must be saved in a text file. The structure of the file must be as shown below:
Scenario:
1. The program must ask user to enter the name of the file.
2. The program must raise an error if the file doesn’t exist.
3. Then the program must raise a message showing the available operations like the following screen:
1. Show or print student records (all semesters).
2. Show or print student records for a specific semester.
3. Show or print the overall average.
4. Show or print the average for every semester.
5. Show or print the total number of passed hours.
6. Show or print the percentage of total passed hours in relation to total F and FA hours.
7. Show or print the total number of hours taken for every semester.
8. Show or print the total number of courses taken.
9. Show or print the total number of labs taken.
10. Insert the new semester record.
11. Change in course grade.
Notes:
• For operation 2, the program will ask user to enter the required semester.
• For operations 3, 5, 6, 8, and 9, you need to handle repeated courses and I courses.
• For operation 10, the program must validate the input data. For example, the course code should be either ENCS or ENEE, course number should be between 2000 to 5999, total number of taken hours is at least 12, course grade between 60 to 99 or F or FA or I.
• For operation 11, the program will ask user to enter the course code and the new grade. Then it will display the course code, the old grade and new grade and ask the user to confirm the change before applying the change to the text file.
Additional Notes:
• Write the code for the shell script to satisfy the requirements described above and name the script as studentRecord.
• Make sure your code is clean and well indented; variables have meaningful names, etc.
• Make sure your script has enough comments inserted to add clarity.
• Work in groups of at most two students
• Deadline: 10 May, 2022 at 11:59pm. Please submit your project (code + report) through Ritaj.
• This project is per group effort: instances of cheating will result in you failing the lab.
• The grading will be on the submitted files only (any changes after the deadline won’t be discussed).
• Discussion of the project will begin immediately after submission due date.