Adfaith Consulting - Employee Information - Main Menu
=====================================================
1 - Print All Current Records
2 – Print All Current Records (formatted)
3 – Print Names and Phone Numbers
4 – Print Names and Phone Numbers (formatted)
5 - Search for specific Record(s)
6 - Add New Records
7 – Delete Records
定义其他两个变量为 :add_file=add
delete_file=delete
在以上定义完之后,你的menu 脚本必须检验在当前的目录下是否存在必须的文件 (records, add, and delete)。如果任何一个脚本不存在,你的脚本menu显示下面的信息并且退出你的程序(exit your program)。
Required file(必须的文件) – theMissingFilename, does not exist.
例如, 如果 records file 不存在, 则显示:
“Required file – records, does not exist.”, and then exit your program.
如果用户选择了错误的选项,如:8,9…,则显示"Invalid code! Press Enter to continue…" 并且要确定光标指针在这句话的结尾,而不是在下一行的开头。在用户敲击ENTER后,主菜单出现,用户可再次选择。
对每个操作的具体实现:
当用户选1——Print All Current Records(在屏幕上显示当前所有员工的记录)
Your Selection: 4 (user input)
Anderson Sarah 02-95437869
Brown Sarah 02-99893878
Chen Xiao 02-95673455
Coles David 03-99999999
Couch David 02-95673456
Jones Sarah 02-95671660
Miller Sam 02-12345678
Smith John 02-93272658
Wang Mengjie 02-95436669
Williams Nick 02-98781999
Xue Fei 02-98781987
Press Enter to continue...等待用户敲击回车,菜单再次出现
注意上面的输出已经以姓的方式进行格式化以及分类过。每栏必须左对齐。
当用户选5—搜索并显示特别员工的记录
(The main menu here)
Your Selection: 5 (user input)
Enter keyword: Jones (user input)
Enter the following details of the new employee:
(输入新职员的详细信息:)
Employee 3 digit payroll number
Phone Number
Last Name
First Name
Middle Init
Dept #
Job Title
Date Hired
Enter employee 3 digit payroll number: 123 (user input)
脚本必须强迫用户依照特别的格式输入有效正确的薪水册号码,你的脚本必须检验输入是否正确
Enter employee 3 digit payroll number: (无输入,敲回车后)
No payroll number entered – try again
Enter employee 3 digit payroll number: abc (用户输入不正确的号码时)
Payroll number can contain only numerical characters
Enter employee 3 digit payroll number:(等待用户输入有效数字)
Enter Phone Number (02-12345678): 02-90807986 (user input)
脚本必须强迫用户依照特别的格式输入有效正确的电话号码,你的脚本必须检验输入是否正确
Phone Number (02-12345678),敲回车时
No phone number entered – try again
Phone Number (02-12345678),等待用户输入号码
如果用户输入号码不正确时,则:
Enter Phone Number (02-12345678): abc123 (user input)
Invalid phone number – try again
Enter Phone Number (02-12345678): 等待用户输入正确号码
(有效的姓只可以是字母和空格。和上面描述的一样, 如果用户输入一无效姓, 则显示 Last name can contain only alphabetical characters and spaces 并且提示用户再次输入姓。 如果无输入直接敲回车,则显示 No last name entered – try again 并提示用户再次输入.)
Enter First Name: Todd (user input)
(有效的名只可以是字母和空格。和上面描述的一样, 如果用户输入无效名, 则显示 First name can contain only alphabetical characters and spaces 并且提示用户再次输入名。 如果无输入直接敲回车,则显示 No First name entered – try again 并提示用户再次输入.)
Enter Middle Init: L (user input)
(有效的中间字母只可以是字母和空格。和上面描述的一样, 如果用户输入一无效姓, 则显示 Middle Initial can contain only alphabetical characters and spaces 并且提示用户再次输入. 如果无输入直接敲回车,则显示 No middle initial entered – try again 并提示用户再次输入.)
Enter Dept #: 20 (user input)
(一个有效的部门号码只能是数字并且没有空格。同样的,如果用户输入无效的部门号, 则显示--- Dept # can contain only digits with no spaces 并且提醒用户再次输入。如果无输入直接敲回车,则显示---No Dept # entered – try again并且提示用户再次输入.)
Enter Job Title: Engineer (user input)
(有效的职称只可以是字母和空格。和上面描述的一样, 如果用户输入一无效职称,则显示 Job title can contain only alphabets and spaces 并且提示用户再次输入. 如果无输入直接敲回车,则显示Job title not entered 并提示用户再次输入.)
Enter Date Hired (dd-mm-yyyy): 21-02-1996 (user input)
你的脚本必须强迫用户依照特殊的格式输入有效的日期,脚本必须有能力检验输入是否正确
简单的是或, 假象一个月有31天. 有效的年份为 1000---- 9999.
如果输入为无效格式的日期,则显示Invalid Date Hired并提示再次输入。如果无输入直接敲回车,则显示No date hired entered – try again并提示用户再次输入.)
Record Saved 记录保存
只有当成功的添加信息到records files时显示此信息。
the UNIX command for appending contents to an existing file will display a standard error message
Add another employee record? (y)es or (n)o, y (user input)
添加其他新的职员记录?
这个操作要从清屏开始,然后重复操作