1.首先创建一个文件,名字为records。其内容为02-95671660:Jones:Sarah:B:45:sales manager:14-12-1995
02-93272658:Smith:John:C:43:technical manager:12-10-1993
02-98781987:Williams:Nick:T:35:computer officer:10-08-1998
02-99893878:Brown:Sarah:B:12:electrician:09-02-1992
02-95673456:Couch
avid:A:26:chef:23-04-1994
02-95437869:Anderson:Sarah:K:19:CEO:21-09-1988
(事实上可以看出该文件是用来存储信息用的,以后程序运行的时候在屏幕上显示的信息应该是从这个文件读出来的。)
2.再创建一个文件名为menu。这是本作业的主程序,(也就是说,作业都完成过后,测试程序最终是否能运行就是通过在linux下运行menu这个程序即可。怎么运行?至于其它的程序在是在该文件内部通过代码来调用使它们运行的。调用方法?)
menu运行后,程序应跳出下面这个界面
Employees Info 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
Q - Quit
跳出这个界面后,程序会停下来等待用户输入某个数字来表示用户希望程序做的事情。比如输入1,程序就应该能够Print All Current Records。其可能的运行结果会是:
Your Selection: 1 (user input)
02-95671660 Jones Sarah B 45 sales manager 14-12-1995
02-93272658 Smith John C 43 technical manager 12-10-1993
02-98781987 Williams Nick T 35 computer officer 10-08-1998
02-99893878 Brown Sarah B 12 electrician 09-02-1992
02-95673456 Couch David A 26 chef 23-04-1994
02-95437869 Anderson Sarah K 19 CEO 21-09-1988
Press Enter to continue... (显示这句话后,光标停在这里,等待用户输入一个enter键,提示: 请不要试图用比较的代码去判断输入的是一个enter键,你无法做到这一点!也没有必要!为什么???
另外,在本次作业中,请务必记住,程序每显示一个新的界面,就应该自动把上一次的界面自动清屏!比如,刚才这里输入任意键后表示用户用跳回主界面,那么就应该把以上显示的结果都清屏后再显示主界面。)
在menu程序中,可能会有几个地方同学会疏忽或者不理解。
1. 关于变量定义。作业要求中帮我们给出了这样三个式子:
record_file=records
add_file=add
delete_file=delete
这三个事实上就是定义了三个变量(可以看出这三个变量事实上就是我们在menu这个主程序里要调用的另外三个程序:records add 和delete)。这意味着定义变量以后如果想调用这三个程序可以直接用$ record_file就可以代表调用records 。(这样做有什么好处?)
2.在变量定义之后,紧接的代码需要先判断一下三面的records add 和delete三个程序是否存在,如果存在那么你的代码就可以实现显示主菜单等待用户选择的等等后续功能了。如果一检测到(注意!)有所检测的程序不存在,程序就应该显示一下这句话,Required file 把不存在的文件填在这里 does not exist. 然后程序退出。
3.在主菜单显示后,程序应该实现如果用户输入的不是1, 2, 3, 4, 5, 6, 7或者 Q里的一个字符,那么应该在主菜单下显示"Invalid code! Press Enter to continue…"这句话(注意:光标这时候应该停在这句话的后面,而不要停在下一行的开始)。此后,当用户敲入enter键后,主菜单重新显示等待用户做一个正确的选择。
4.本次作业中如果想实现请用户键入enter键的功能,请记住都是一次,而不是两次或者多次。
add和delete程序的具体实现效果请参看作业具体要求,不再做解释。