This project is to acquaint you with fundamental UNIX commands and utilities when creating a multifunctional...
Fantastic news! We've Found the answer you've been seeking!
Question:
Transcribed Image Text:
This project is to acquaint you with fundamental UNIX commands and utilities when creating a multifunctional application. You will practice on managing shell variables, using shell operators, employing selection and repetition logic structures, creating a menu-based program, listing contents of a file, adding records to a file, searching patterns in a file, deleting records from a file, and using UNIX commands/utilities to manage cursor and output format, etc. The completion of the project will strengthen your knowledge and skills of utilizing UNIX commands/utilities and UNIX shell script programming language. In this project you will build a menu-based application for tracking student information. The specifications of the project are as follows: (10 points) 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, as shown in Figure 2. Use a case statement to determine what choice the user made, and perform the appropriate action. The only way to exit the application is by pressing "5" to quit the program. All other options should return to the main menu. Your program should handle the case in which the user doesn't enter anything, or the user enters an invalid option. (5 points) The student records are stored in a text file called student_data, as shown in Figure 1. The file contains information about a student's 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:0lson: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 (20 points) The View Records option should display a sub-menu, as shown in Figure 3, 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 as shown in Figure 4. The total number of records should also be displayed. The program returns to the main menu after records are displayed and the "Enter" key is pressed. (15 points) 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 (see Figure 5). The program should allow the user to add more records until a 'q' for quit is entered (see Figure 6, 7). The program returns to the main menu after the user enters a 'q'. Modifying the previous field when the user types in -' or exiting if the user types in 'q' is optional. (5 points) The Search for Records option should prompt the user for a string pattern to search for in the data file and display all the records that contain that pattern (see Figure 8). (10 points) 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 (see Figure 9, 10), and perform the appropriate actions. (8 points) The source code of the above four options (view, add, search, and delete) should be placed in four separate script files. (2 points) The Quit option will exit the application. (10 points) 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 user's choice. (5 points) The program should have necessary comments including, but not limited to, the script name, author's name, date information, and the purpose of the script. (10 points) 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. It is highly suggested that you include snapshots similar to the ones in this document. Your snapshots should be legible and include the heading of the putty terminal window showing your username and host information. This project is to acquaint you with fundamental UNIX commands and utilities when creating a multifunctional application. You will practice on managing shell variables, using shell operators, employing selection and repetition logic structures, creating a menu-based program, listing contents of a file, adding records to a file, searching patterns in a file, deleting records from a file, and using UNIX commands/utilities to manage cursor and output format, etc. The completion of the project will strengthen your knowledge and skills of utilizing UNIX commands/utilities and UNIX shell script programming language. In this project you will build a menu-based application for tracking student information. The specifications of the project are as follows: (10 points) 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, as shown in Figure 2. Use a case statement to determine what choice the user made, and perform the appropriate action. The only way to exit the application is by pressing "5" to quit the program. All other options should return to the main menu. Your program should handle the case in which the user doesn't enter anything, or the user enters an invalid option. (5 points) The student records are stored in a text file called student_data, as shown in Figure 1. The file contains information about a student's 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:0lson: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 (20 points) The View Records option should display a sub-menu, as shown in Figure 3, 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 as shown in Figure 4. The total number of records should also be displayed. The program returns to the main menu after records are displayed and the "Enter" key is pressed. (15 points) 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 (see Figure 5). The program should allow the user to add more records until a 'q' for quit is entered (see Figure 6, 7). The program returns to the main menu after the user enters a 'q'. Modifying the previous field when the user types in -' or exiting if the user types in 'q' is optional. (5 points) The Search for Records option should prompt the user for a string pattern to search for in the data file and display all the records that contain that pattern (see Figure 8). (10 points) 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 (see Figure 9, 10), and perform the appropriate actions. (8 points) The source code of the above four options (view, add, search, and delete) should be placed in four separate script files. (2 points) The Quit option will exit the application. (10 points) 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 user's choice. (5 points) The program should have necessary comments including, but not limited to, the script name, author's name, date information, and the purpose of the script. (10 points) 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. It is highly suggested that you include snapshots similar to the ones in this document. Your snapshots should be legible and include the heading of the putty terminal window showing your username and host information.
Expert Answer:
Related Book For
College Accounting A Practical Approach
ISBN: 978-0132564441
11th Canadian Edition
Authors: Jeffrey Slater, Brian Zwicker
Posted Date:
Students also viewed these programming questions
-
This project is to evaluate the nutrition content of a fast food meal. Select any fast food restaurant for this project. You may go there in person or you can use on-line information. You can Google...
-
The objective of this project is to give the students an opportunity to learn how to develop notes to the financial statements. This will include determining which items need to be included in the...
-
The objective of this project is to take the concepts learned in the course and apply them to your company's annual report. The following is a suggested format to use for this analysis: I. Executive...
-
A portfolio manager owns a bond worth 2,000,000 that will mature in one year. The pound is currently worth $1.65, and the one-year future price is $1.61. If the value of the pound were to fall, the...
-
On January' 1, 2013, Arch Ltd. purchased 30% of the common shares of AP Inc. for $1,700,000. In 2013, /VP reported net income of $880,000 and paid dividends of $600,000. Required: a. Which of the...
-
Revenues, production, and purchases budgets. The Suzuki Co. in Japan has a division that manufactures two-wheel motorcycles. Its budgeted sales for Model G in 2010 are 900,000 units. Suzukis target...
-
If you were trying to examine this issue, how would you proceed? Any suggestions for me to take next steps? same. Is that what happened? You normally wouldnt borrow money from the company, would you?
-
Transactions and Budgetary Comparison Schedule. The following transactions occurred during the 2011 fiscal year for the City of Fayette. For budgetary purposes the city reports encumbrances in the...
-
Describe a specific scenario, situation, or application where using a foreign key would be necessary. 2) Explain your reasons, including the characteristics of the data, that necessitate the foreign...
-
A column fixed at both ends has a minimum radius of gyration r = 29.4 mm, cross-sectional area 3,230 mm, and length 1.94 m. It is made of a material whose compression stress-strain diagram may be...
-
Choose a company or product that you have been noticing or admiring. Develop a plan to advertise this product that involves the United States and at least one other country, and three forms of media....
-
Many academic institutions offer a sabbatical policy. Every seven years a professor is given a year free of teaching and other administrative responsibilities at full pay. For a professor earning...
-
Why should one consider autonomous work groups, empowerment, and lean production systems when addressing issues connected with job design?
-
Your son has been accepted into college. This college guarantees that your sons tuition will not increase for the four years he attends college. The first $8500 tuition payment is due in six months....
-
Explore the connection between communication and perception.
-
What are ways managers can reduce labor costs?
-
Construct a heap for the data below as shown in demonstrated example. The data for both the problems is 1, 6, 8, 2, 5, 3, 7, 4
-
Consider model (9.18). What is the effect on the model parameter estimates, their standard errors, and the goodness-of-fit statistics when (a) The times at risk are doubled, but the numbers of deaths...
-
Given the following, calculate net sales: Gross sales$100 PST rate 8% GST rate... 5% Sales returns and allowances 12 Sales discounts. 2%
-
Using the chart of accounts for Debra Clark from Problem 11A-3, journalize the following transactions and prove the synoptic journal. Fill in the Post. Ref. column as if you were actually recording...
-
Bernie Pillows established a new consulting company in Fairview. Record the following transactions for Bernie in T account form. Label each entry with the letter of the transaction. A. Bernie...
-
You are provided with the worksheet for Norman Pty Ltd for the year ended 30 June 2019. The adjustments have already been made and the worksheet begins with the adjusted trial balance. Assume all...
-
You are provided with the cost of goods manufactured statement and income statement for Prider Manufacturers Ltd. Required (a) Prepare the closing entries for Prider Manufacturers Ltd. Direct...
-
The listing of the ledger accounts (unadjusted) of Smart Manufacturing Systems Pty Ltd at 30 June 2019 is provided. All ledger balances are normal balances. Additional information relating to the...
Study smarter with the SolutionInn App