Question
UNIX/Linux using putty In this project you will build a menu-based application for tracking student information. The specifications of the project are as follows: It
UNIX/Linux using putty
In this project you will build a menu-based application for tracking student information. The specifications of the project are as follows:
It is a menu-based program with a main screen offering the user options to view records, add new records, search for records, delete records, and quit the program. Use a case statement to determine what choice the user made, and perform the appropriate action. Your program should handle the case in which the user doesnt enter anything, or the user enters an invalid option.
The student records are stored in a text file called student_data. The file contains information about a students ID, last name, first name, program name, and total credits. Each record is stored on one line and has the above five fields separated by the colon : character. The initial data file contains the following records: 1001:Jones:Alice:Accounting:105
1320:Moore:Sarah:Mechanical Engineering:80
2100:Olson:Timothy:Computer Systems:66
1520:Mitchell:Barbara:Electrical Engineering:34
1800:Smith:Paul:Mathematics:87
2010:Whitman:Henry:Business Management:114
1480:Richard:Johnson:Computer Systems:90
1234:Willims:David:Economics:78
The View Records option should display a sub-menu to let user choose how the records are sorted before they are displayed. The records can be sorted by last name or program name in alphabetic order, or sorted by credits in ascending order, or sorted by ID in ascending order by default. The records should be displayed in a neat fixed-length form. The total number of records should also be displayed.
The Add New Records option should allow the user to enter the student ID, last name, first name, program name, and total credits. This information will be appended to the end of the file student_data, all on one line, separated by the colon : character. The last name cannot be blank for the new record to be written into the data file. If a student ID has already existed in the data file, display an error message and let the user reenter the data. The program should allow the user to add more records until a q for quit is entered. Modifying the previous field when the user types in - or exiting if the user types in q is optional.
The Search for Records option should prompt the user for a pattern to search for in the data file and display all the records that contain that pattern.
The Delete Records option should prompt the user for a pattern, display all the records that contain that pattern, ask the user to confirm yes or no to delete these records and perform the appropriate actions.
The source code of the above four options should be placed in four separate script files.
The Quit option will exit the application.
Make a shell script called functions that defines the following three functions:
sort_ID to sort the records in the ascending order of student ID,
sort_lname to sort the records in the alphabetic order of student last name,
sort_program to sort the records in the alphabetic order of program name,
sort_credits to sort the records in the ascending order of total credits.
Use function(s) in the View Records module to sort the records according to users choice.
The program should have necessary comments including, but not limited to, the script name, authors name, date information, and the purpose of the script.
Make a documentation file that have enough snapshots to show the states of your program execution, for example, the main menu, and each menu option, action/results, etc. Your snapshots should be legible and include the heading of the putty terminal window showing your username and host information.
Include your name, and the statement I certify that this submission is my own original work in your documentation.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started