You are required to write a program that is going to be used to store the student details of a particular school. This school caters for students aged between 5 years to 15 years. In fact, a student is supposed to attend this school for 11 consecutive years - from Year 1 to Year 11 respectively. However it can be the case that students stop attending this school by the end of Year 6.
Students are usually registered to start attending Year 1. However sometimes new students are also registered to start attending this school from other Years. Students who are attending classes from Students Year 1 to Year 6 are called junior students while students who are attending from Year 7 to Year 11 are called senior students.
Junior students study common subjects which are the following:
- Mathematics
- English
- Maltese
- Religious Knowledge
- Social Studies
Senior students study a mixture of common and optional subjects. The common subjects are the following:
- Mathematics
- English
- Maltese
- Religious Knowledge
- Environmental Studies
- Social Studies
- Computer Literacy
- Physical Education
- Language (French OR Italian)
When students are in Year 9 they also choose two other optional subjects from the following list:
- Business Studies
- Computing
- Chemistry
- Biology
- Physical Education Theory
Students are assessed in each subject via two exams - a mid-yearly exam and a final year exam. These two exams contribute towards 40% and 60% of the final mark respectively. You are required to write a program that is able to store the student details and there marks respectively. In your program include all the necessary functionality that is required to:
- Add, Edit and Delete a student
- Promote students to the next year
o From Year 6 to Year 7 students should be transferred to senior students and the program should ask the user for the language selection.
o From Year 8 to Year 9 the program should ask the user to enter the two optional subjects.
- Add the student marks
- Display student details (including marks)
Make all the necessary assumptions where information is missing. The program should store the information permanently using files.