(精品)简单个人电话号码查询系统.doc

上传人:汽*** 文档编号:543281186 上传时间:2023-10-28 格式:DOC 页数:19 大小:243.55KB
返回 下载 相关 举报
(精品)简单个人电话号码查询系统.doc_第1页
第1页 / 共19页
(精品)简单个人电话号码查询系统.doc_第2页
第2页 / 共19页
(精品)简单个人电话号码查询系统.doc_第3页
第3页 / 共19页
(精品)简单个人电话号码查询系统.doc_第4页
第4页 / 共19页
(精品)简单个人电话号码查询系统.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《(精品)简单个人电话号码查询系统.doc》由会员分享,可在线阅读,更多相关《(精品)简单个人电话号码查询系统.doc(19页珍藏版)》请在金锄头文库上搜索。

1、课程设计任务书20112012学年第1学期电子与信息工程系 专业 班级课程设计名称: 数据结构课程设计 设计题目: 简单个人电话号码查询系统 完成期限:自2012 年 1月2日至2012 年 1月 6 日共 1 周一、设计目的熟悉各种数据结构和运算,会使用数据结构的基本操作解决一些实际问题。二、设计要求 在本课程设计过程中要求学生:(1)重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务;(2)按照课程设计的题目要求,独立地完成各项任务,严禁抄袭;凡发现抄袭,抄袭者与被抄袭者皆以零分计入本课程设计成绩。凡发现实验报告或源程序雷同,涉及的全部人员皆以零分计入本课程设计成绩。(

2、3)学生在接受设计任务后,根据要求认真完成。(4)认真编写课程设计报告。三、设计内容1) 问题描述人们在日常生活中经常需要查找某个人或某个单位的电话号码,本实验将实现一个简单的个人电话号码查询系统,根据用户输入的信息(例如姓名等)进行快速查询。2) 基本要求(1) 在外存上,用文件保存电话号码信息;(2) 在内存中,设计数据结构存储电话号码信息;(3) 提供查询功能:根据姓名实现快速查询;(4) 提供其他维护功能:例如插入、删除、修改等;(5) 按电话号码进行排序。3) 设计思想 由于需要管理的电话号码信息较多,而且要在程序运行结束后仍然保存电话号码信息,所以电话号码信息采用文件的形式存放到外

3、存中。在系统运行时,需要将电话号码信息从文件调入内存来进行查找等操作,为了接收文件中的内容,要有一个数据结构与之对应,可以设计如下结构类型的数组来接收数据: const int max=10; struct TeleNumber string name; /姓名 string phoneNumber; /固定电话号码 string mobileNumber; /移动电话号码 string email; /电子邮箱 Telemax;为了实现对电话号码的快速查询,可以将上述结构数组排序,以便应用折半查找,但是,在数组中实现插入和删除操作的代价较高。如果记录需频繁进行插入或删除操作,可以考虑采用二叉

4、排序树组织电话号码信息,则查找和维护都能获得较高的时间性能。更复杂地,需要考虑该二叉排序树是否平衡,如何使之达到平衡。四、参考文献1王红梅数据结构清华大学出版社2王红梅数据结构学习辅导与实验指导清华大学出版社3. 严蔚敏, 吴伟民.数据结构(C语言版). 清华大学出版社目录一、需求分析2二、总体设计2三、详细设计4四、调试与测试9五、关键源程序清单和执行结果9六、感想与体会17一、需求分析1.程序的功能: 能够完成通讯录链表的建立、通讯者的插入、通讯者的查询、显示所有通讯者的信息、通讯录修改除名字外的其他信息、把txt文本中的信息导入到程序中、保存程序中打的信息导出到文本中保存以及通讯录表的退

5、出等功能2. 输入输出的要求:程序运行后,给出7个菜单项的内容和输入提示: 1.增加电话号码 2.显示电话号码 3.排序个人电话 4.查找个人电话 5.删除个人信息 6.修改个人信息 7.保存个人信息 二、总体设计主程序修改查找保存删除排序显示增加 图一 程序框架图主程序是否有电话号码增加电话号码 N Y插入联系人显示联系人排序电话号码查找联系人删除联系人修改联系人 图二 程序设计流程图三、详细设计(1)先定义结构体:struct TeleNumber /数据类char name10; /姓名 int phoneNumber; /固定电话号码 int mobileNumber; /移动电话号码

6、 int s; TeleNumber * Next;void ReadFile(istream & in);void input();void display(); ;(2)主函数:输出菜单项,再通过输入1-7这几个数字,利用switch语句实现子函数调用。int main()bool flag=true;TeleMessage tele;char name20;while(flag)system(cls);cout1.增加电话号码endl;cout2.显示电话号码endl;cout3.排序个人电话endl;cout4.查找个人电话endl;cout5.删除个人信息endl;cout6.修改个

7、人信息endl;cout7.保存个人信息endl;coutx;switch(x)case 0:flag=false;break;case 1:tele.Insert();break;case 2:tele.Show();break;case 3:tele.Sort();break;case 4:cout请输入欲查找认得姓名name;tele.Search(name);break;case 5:tele.Remove();break;case 6:tele.Change();break;case 7:tele.Save();break;cout输入任意字母返回a;return 0;(3)主函数中

8、调用的一些子函数:A.插入Insert() :void TeleMessage:Insert() /插入End-input(); /从单链表尾部插入End-Next=new TeleNumber;End=End-Next;coutendl插入成功endl;B.删除Remove():void TeleMessage:Remove() /删除char name20;TeleNumber * p=new TeleNumber,*temp=NULL; cout请输入要删除人的姓名:name;p-Next=Search(name); /先进行查找,找到所要删除的结点if(Search(name) tem

9、p=p-Next;p-Next=p-Next-Next; /摘链delete temp;couttt删除成功!endl;elsecouttt没有找到!Next;p!=End;p=p-Next)if(!strcmp(p-name,name) if(x=4)p-display();return p;elsereturn p;if(x=4)cout查无此人endl;return 0;C.修改Change(): void TeleMessage:Change() /修改信息char name20;coutname;if(Search(name)couttt已找到个人的信息,请输入新的信息!input(

10、);cout修改成功!endl; else couttt没有找到!Next;if( p!=End) for(;p!=End;p=p-Next)p-display(); else cout没有信息,请先输入endl;cout输入任意字母返回a;return 0;E.排序Sort():void TeleMessage:Sort() /起泡排序TeleNumber *p=NULL,*q=NULL;int exchange=j-1;int bound;int i;while(exchange)bound=exchange; exchange=0;for(p=Head-Next,i=1;iNext)if(p-mobileNumberp-Next-mobileNumber)Swap(p,p-Next); /调用交换函数exchange=p-s;Show();F.保存Save():void TeleM

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 公司方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号