课程设计任务书
2011—2012学年第1学期
电子与信息工程系 专业 班级
课程设计名称: 数据结构课程设计
设计题目: 简单个人电话号码查询系统
完成期限:自2012 年 1月2日至2012 年 1月 6 日共 1 周
一、设计目的
熟悉各种数据结构和运算,会使用数据结构的基本操作解决一些实际问题。
二、设计要求
在本课程设计过程中要求学生:
(1)重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务;
(2)按照课程设计的题目要求,独立地完成各项任务,严禁抄袭;凡发现抄袭,抄袭者与被抄袭者皆以零分计入本课程设计成绩。凡发现实验报告或源程序雷同,涉及的全部人员皆以零分计入本课程设计成绩。
(3)学生在接受设计任务后,根据要求认真完成。
(4)认真编写课程设计报告。
三、设计内容
1) 问题描述
人们在日常生活中经常需要查找某个人或某个单位的电话号码,本实验将实现一个简单的个人电话号码查询系统,根据用户输入的信息(例如姓名等)进行快速查询。
2) 基本要求
(1) 在外存上,用文件保存电话号码信息;
(2) 在内存中,设计数据结构存储电话号码信息;
(3) 提供查询功能:根据姓名实现快速查询;
(4) 提供其他维护功能:例如插入、删除、修改等;
(5) 按电话号码进行排序。
3) 设计思想
由于需要管理的电话号码信息较多,而且要在程序运行结束后仍然保存电话号码信息,所以电话号码信息采用文件的形式存放到外存中。在系统运行时,需要将电话号码信息从文件调入内存来进行查找等操作,为了接收文件中的内容,要有一个数据结构与之对应,可以设计如下结构类型的数组来接收数据:
const int max=10;
struct TeleNumber
{
string name; //姓名
string phoneNumber; //固定电话号码
string mobileNumber; //移动电话号码
string email; //电子邮箱
} Tele[max];
为了实现对电话号码的快速查询,可以将上述结构数组排序,以便应用折半查找,但是,在数组中实现插入和删除操作的代价较高。如果记录需频繁进行插入或删除操作,可以考虑采用二叉排序树组织电话号码信息,则查找和维护都能获得较高的时间性能。更复杂地,需要考虑该二叉排序树是否平衡,如何使之达到平衡。
四、参考文献
1.王红梅.数据结构.清华大学出版社
2.王红梅.数据结构学习辅导与实验指导.清华大学出版社
3. 严蔚敏, 吴伟民.数据结构(C语言版). 清华大学出版社
目录
TOC \o "1-3" \h \u 18936 一、需求分析 2
30855 二、总体设计 2
32048 三、详细设计4
30020 四、调试与测试9
282 五、关键源程序清单和执行结果9
11512 六、感想与体会17
一、需求分析
1.程序的功能:
能够完成通讯录链表的建立、通讯者的插入、通讯者的查询、显示所有通讯者的信息、通讯录修改除名字外的其他信息、把txt文本中的信息导入到程序中、保存程序中打的信息导出到文本中保存以及通讯录表的退出等功能
2. 输入输出的要求:
程序运行后,给出7个菜单项的内容和输入提示:
1.增加电话号码
2.显示电话号码
3.排序个人电话
4.查找个人电话
5.删除个人信息
6.修改个人信息
7.保存个人信息
二、总体设计
主程序
主程序
修改查找保存删除排序显示增加
修改
查找
保存
删除
排序
显示
增加
图一 程序框架图
主程序
主程序
是否有电话号码
是否有电话号码
增加电话号码 N
增加电话号码
Y
插入联系人
插入联系人
显示联系人
显示联系人
排序电话号码
排序电话号码
查找
查找联系人
删除
删除联系人
修改
修改联系人
图二 程序设计流程图
三、详细设计
这是一个数据结构课程设计项目,旨在实现一个简单的个人电话号码查询系统。系统使用C语言编写,支持在外存中存储电话号码信息,并提供根据姓名的快速查询、插入、删除和修改等功能。设计中考虑了数据结构的选择,如数组和二叉排序树,以优化查询和维护性能。
2277

被折叠的 条评论
为什么被折叠?



