输入手机号查询信息C语言,简单个人电话号码查询系统.doc

这是一个数据结构课程设计项目,旨在实现一个简单的个人电话号码查询系统。系统使用C语言编写,支持在外存中存储电话号码信息,并提供根据姓名的快速查询、插入、删除和修改等功能。设计中考虑了数据结构的选择,如数组和二叉排序树,以优化查询和维护性能。

课程设计任务书

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

插入联系人

插入联系人

显示联系人

显示联系人

排序电话号码

排序电话号码

查找

查找联系人

删除

删除联系人

修改

修改联系人

图二 程序设计流程图

三、详细设计

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值