SEMI-C语言作业:电话号码存储系统 要求和实现 第一部分:需求概述 超级市场中,有的时候需要保存购买者的名称、电话号码、地址信息,以方便进行送货上 门、订购服务。 电话号码目录是拥有大量数据的存储库,提供有关个人和组织的信息,简易的电话号码存 储系统可以采用C语言来实现,并且这些信息可以保存在磁盘文件上 随着新订户的加入、一些老订户的删除以及其他订户数据的改变,必须经常地更新目录 除了添加、删除、修改操作外,还可以査询现有的数据 第二部分:整体设计 系统采用C语言来编写,电话号码目录要求存在一个名为 telefon. dat的文件中,该文件应 包括下列订户详细信息 订户名字(最多30个字符); 地址(最多50个字符) 电话号码(介于400000和499999间) lefon dat文件始终应该按订户名排序,而不管执行的是什么文件修改操作 电话号码目录系统应以下列菜单开始 TELEPHONE DIRECTORY SYSTEM 1. Add new subscriber details 2. Modify existing subscriber details 3. Delete existing subscriber details 4. Display subscriber details based on telephone number 5. Display subscriber details based on subscriber name 6. View Directory 7. Quit Enter choice 根据用户的选择,将执行对应的操作。 第三部分:实现说明 下图显示了运行该程序后的菜单选项 C语言编程作业工程1
C 语言编程作业工程 1 1 SEMI——C 语言作业:电话号码存储系统 要求和实现 第一部分:需求概述 超级市场中,有的时候需要保存购买者的名称、电话号码、地址信息,以方便进行送货上 门、订购服务。 电话号码目录是拥有大量数据的存储库,提供有关个人和组织的信息,简易的电话号码存 储系统可以采用 C 语言来实现,并且这些信息可以保存在磁盘文件上。 随着新订户的加入、一些老订户的删除以及其他订户数据的改变,必须经常地更新目录。 除了添加、删除、修改操作外,还可以查询现有的数据。 第二部分:整体设计 系统采用 C 语言来编写,电话号码目录要求存在一个名为 telefon.dat 的文件中,该文件应 包括下列订户详细信息: ➢ 订户名字(最多 30 个字符); ➢ 地址(最多 50 个字符); ➢ 电话号码(介于 4000000 和 4999999 之间); telefon.dat 文件始终应该按订户名排序,而不管执行的是什么文件修改操作。 电话号码目录系统应以下列菜单开始: TELEPHONE DIRECTORY SYSTEM 1. Add new subscriber details 2. Modify existing subscriber details 3. Delete existing subscriber details 4. Display subscriber details based on telephone number 5. Display subscriber details based on subscriber name 6. View Directory 7. Quit Enter choice: 根据用户的选择,将执行对应的操作。 第三部分:实现说明 下图显示了运行该程序后的菜单选项
cAlSelect D: turboc( Bin(TC.EXE TELEPHONE DIRECTORY SYSTEM 4. Add new subscriber details 3:bt:x1m=由r3::a 4. Display subscriber details based on te lephone number 5. Display subscriber details based on subscriber name rectory Enter choice: 图1:主菜单 对应的各项菜单的操作如下: Add new subscriber details(添加新订户的详细信息) 在主界面上输入1,接受新订户的详细信息,确保名字和地址不为空,并且电话号码 在指定的范围之内,将记录存在排序文件中,使该文件按订户名的升序排列。 添加记录的屏幕如图2所示,如果用户输入了无效的号码,将显示电话号码的范围。 aA C:\ WINNT\System 32\cmd.exe-telefon ADD NEW SUBSCRIBER DETAILS Enter Subscriber name (upto 30 chars.>: Andrew Enter Subscriber address (upto 5g chars.>: 101, Peace villa Enter telephone nunber:4001 Subscriber te lephone number must be be tween 4000000 and 4999999 Enter telephone number:4000001 Subscriber details have been added 图2:添加订户 Modify existing subscriber details(修改现有订户的详细信息) 在主界面上输入2,接受需要修改其详细信息的订户名字,首先定位并显示现有的记 录,接受新订户的详细信息,确保名字和地址不为空,并且电话号码在指定的范围之 内,将已修改的记录保存在文件中,确保该文件按订户名的升序排列 C语言编程作业工程1
C 语言编程作业工程 1 2 图 1:主菜单 对应的各项菜单的操作如下: ➢ Add new subscriber details(添加新订户的详细信息) 在主界面上输入 1,接受新订户的详细信息,确保名字和地址不为空,并且电话号码 在指定的范围之内,将记录存在排序文件中,使该文件按订户名的升序排列。 添加记录的屏幕如图 2 所示,如果用户输入了无效的号码,将显示电话号码的范围。 图 2:添加订户 ➢ Modify existing subscriber details(修改现有订户的详细信息) 在主界面上输入 2,接受需要修改其详细信息的订户名字,首先定位并显示现有的记 录,接受新订户的详细信息,确保名字和地址不为空,并且电话号码在指定的范围之 内,将已修改的记录保存在文件中,确保该文件按订户名的升序排列
修改记录的屏幕如图3和图4所示 CC: WINNT\ System32\cmd.exe-telefon ODIFY SUBSCRIBER DETAILS Enter Subscrip Cupto 3g chars.): Andrew 图3:修改订户的详细信息 c c: WINNT\ System32\cmd. exe-telefon RECORD TO BE MODIFIE Name=Andrew Address=101, Peace Villa Telephone number=400 ENTER NEW RECORD DETAILS Enter Subscriber name : Mark nter Subscriber address (upto 50 chars.): 101, Peace villa Enter telephone number: 4000002 Subscriber details have been modified 图4:修改订户的详细信息-I Delete existing subscriber details(删除现有订户的详细信息) 接受需要删除其详细信息的订户名字,定位并显示现有的记录,删除文件中的记录。 删除记录的屏幕如图5和图6所示。 C语言编程作业工程1
C 语言编程作业工程 1 3 修改记录的屏幕如图 3 和图 4 所示。 图 3:修改订户的详细信息 图 4:修改订户的详细信息 - I ➢ Delete existing subscriber details(删除现有订户的详细信息) 接受需要删除其详细信息的订户名字,定位并显示现有的记录,删除文件中的记录。 删除记录的屏幕如图 5 和图 6 所示
CC: WINNT\ System32 DELETE SUBSCRIBER DETAILS Enter Subscriber name (upto 30 chars.>: Mark 图5:删除订户的详细信息 LavC: WINNT System 32\ cmd.exe-telefon Subscriber details have been de leted 图6:删除订户的详细信息 Display subscriber details based on telephone number(显示根据电话号码查出的订户 详细信息) 接受需要查看其详细信息的订户名字,定位并显示相应记录。 下列两图(图7和图8)定位了电话号码400000 ci\C: \ WINNT\ System32\cmd. exe-telefon Enter telephone number: 4000002 图7:输入电话号码 C语言编程作业工程1
C 语言编程作业工程 1 4 图 5:删除订户的详细信息 图 6:删除订户的详细信息 – I ➢ Display subscriber details based on telephone number(显示根据电话号码查出的订户 详细信息) 接受需要查看其详细信息的订户名字,定位并显示相应记录。 下列两图(图 7 和图 8)定位了电话号码4000002。 图 7:输入电话号码
ci\ C: WINNT\ System 32\cmd. REQUESTED SUBSCRIBER DETAILS N Mark Address:101,Peace Villa Telephone number: 4000002 图8:订户的详细信息 Display subscriber details based on subscriber name(显示根据订户名查出的订户详细 信息) 接受需要查看其详细信息的订户名字,定位并显示相应记录。 下列两图(图9和图10)显示了Mark的记录。 Enter Subscriber name: Mark 图9:输入订户名字 c C:\ WINNT\ System32\cmd.exe-telefon D SUBSCRIBER DETAILS Address: 101, Peace Villa Telephone number: 4000002 图10:订户的详细信息 View Directory(查看目录) 显示电话号码目录中的所有记录,下图显示了 telefon. dat文件中的所有记录 C语言编程作业工程1
C 语言编程作业工程 1 5 图 8:订户的详细信息 ➢ Display subscriber details based on subscriber name(显示根据订户名查出的订户详细 信息) 接受需要查看其详细信息的订户名字,定位并显示相应记录。 下列两图(图 9 和图 10)显示了 Mark 的记录。 图 9:输入订户名字 图 10:订户的详细信息 ➢ View Directory(查看目录) 显示电话号码目录中的所有记录,下图显示了telefon.dat 文件中的所有记录
ar\ C: WINNT\ System32 Add ney subscriber details dify existing subscriber 3. Delete existing subscriber Display subscriber details telephone number Display subscriber detail Enter choice: 6 Record Andrew 101, Peace Villa 4000001 Nice street 4000003 R Susan 3/1-Plot 3 45 图11:查看所有记录 Quit(退出) 关闭程序,并退出电话号码目录系统 C语言编程作业工程1
C 语言编程作业工程 1 6 图 11:查看所有记录 ➢ Quit(退出) 关闭程序,并退出电话号码目录系统