A menu driver program is required by a university module learder for maintaining details of students marks.
* Student ID number (6 digits)
* First name
* Group letter
* Overall mark
Assume a max of 80 students. The option available on the menu are shown below.
* Retrieve mark for a given ID
* Accept new student
* Moodily mark for a given ID
* Display students with marks < 40
* Sort results into student ID order
* Display all results
When the QUIT option is selected, the following statistics should be displayed
* The total number of queries (i.e. selection of option 1)
* The mean mark
* The highest mark
All this has to be done in pseudocode design, not program code.
1. For option 1 and 3, display an error message if the user enters an invalid student ID number (i.e. an ID that doesn’t exist) and re-prompt the user for an ID until a valid ID is entered. Also display an error message if an invalid option is selected.
2. No validation required, unless specified.
3. It should be obvious that several arrays will be required for this algorithm. Since all/most of the subsequent program will require access to these, you may make these global, but list these variables, with their names and a brief statement of purpose for each, before your design. You may also choose to make another variable global. If so, make sure that you list this as well.
4. Remember to keep a count of the current number of students at all times.
5. Avoid duplication of code. If this occurs, remove the duplication and place it in a lower-level module, from which it may be called. The name of such a module should reflect all plaves from which it is called, but line numbers should reflect only the first calling module. For example, if the module is called from line 3.2 and 4.3, it should be name Module 3.2 & 4.3. Line number would then be 3.2.1, 3.2.2 etc.
Notes on Options
1. The user will enter a student’s ID and the program will display the full name of the student, followed by his/her mark.
2. This option will be used both to accept an initial list of student’s details and to accept details of new students. **Ensure that only marks in the range 0-100 are accepted.**
3. The user will enter a students ID and the program will display the student’s current mark. The program will then accept the student’s new mark from the user, **again ensuring that only marks in the range 0-100 are accepted.**
4. Display student IDs and marks for all students who have failed.
5. Use the Insertion Sort algorithm. Make sure:
* You change *length(Num)* to the number of elements that are being sorted in this application
* The array name used within both loop bodies is changed to the appropriate one for this sort
* When you move an array element, you also move the corresponding element in each of the other arrays (surname, first names, etc).
6. Display all fields for all students in tabular format, with column headings. (Specific tabulation details should not be shown for this pseudocode assignemt)
An example of a different pseudocode will be given, this assignment is very similar to the example. And the format of the codes has to be same.
All coding needs to be in pseudocode, and the layout needs to be same as the example i'm attaching.