版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、(完整)简单个人电话号码查询系统(完整)简单个人电话号码查询系统 编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)简单个人电话号码查询系统)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快 业绩进步,以下为(完整)简单个人电话号码查询系统的全部内容。课程设计任务书20112012学年第1学期电子与信息工程系 专业 班级课程设计名称:
2、数据结构课程设计 设计题目: 简单个人电话号码查询系统 完成期限:自2012 年 1月2日至2012 年 1月 6 日共 1 周一、设计目的熟悉各种数据结构和运算,会使用数据结构的基本操作解决一些实际问题.二、设计要求 在本课程设计过程中要求学生:(1)重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务;(2)按照课程设计的题目要求,独立地完成各项任务,严禁抄袭;凡发现抄袭,抄袭者与被抄袭者皆以零分计入本课程设计成绩。凡发现实验报告或源程序雷同,涉及的全部人员皆以零分计入本课程设计成绩。(3)学生在接受设计任务后,根据要求认真完成.(4)认真编写课程设计报告.三、设计内容1
3、) 问题描述人们在日常生活中经常需要查找某个人或某个单位的电话号码,本实验将实现一个简单的个人电话号码查询系统,根据用户输入的信息(例如姓名等)进行快速查询。2) 基本要求(1) 在外存上,用文件保存电话号码信息;(2) 在内存中,设计数据结构存储电话号码信息;(3) 提供查询功能:根据姓名实现快速查询;(4) 提供其他维护功能:例如插入、删除、修改等;(5) 按电话号码进行排序。3) 设计思想 由于需要管理的电话号码信息较多,而且要在程序运行结束后仍然保存电话号码信息,所以电话号码信息采用文件的形式存放到外存中。在系统运行时,需要将电话号码信息从文件调入内存来进行查找等操作,为了接收文件中的
4、内容,要有一个数据结构与之对应,可以设计如下结构类型的数组来接收数据: const int max=10; struct telenumber string name; /姓名 string phonenumber; /固定电话号码 string mobilenumber; /移动电话号码 string email; /电子邮箱 telemax;为了实现对电话号码的快速查询,可以将上述结构数组排序,以便应用折半查找,但是,在数组中实现插入和删除操作的代价较高。如果记录需频繁进行插入或删除操作,可以考虑采用二叉排序树组织电话号码信息,则查找和维护都能获得较高的时间性能.更复杂地,需要考虑该二叉排
5、序树是否平衡,如何使之达到平衡。四、参考文献1王红梅数据结构清华大学出版社2王红梅数据结构学习辅导与实验指导清华大学出版社3. 严蔚敏, 吴伟民.数据结构(c语言版)。 清华大学出版社目录一、需求分析2二、总体设计2三、详细设计4四、调试与测试9五、关键源程序清单和执行结果9六、感想与体会17一、需求分析1.程序的功能: 能够完成通讯录链表的建立、通讯者的插入、通讯者的查询、显示所有通讯者的信息、通讯录修改除名字外的其他信息、把txt文本中的信息导入到程序中、保存程序中打的信息导出到文本中保存以及通讯录表的退出等功能2。 输入输出的要求:程序运行后,给出7个菜单项的内容和输入提示: 1.增加电
6、话号码 2。显示电话号码 3。排序个人电话 4.查找个人电话 5。删除个人信息 6.修改个人信息 7.保存个人信息 二、总体设计主程序修改查找保存删除排序显示增加 图一 程序框架图主程序是否有电话号码增加电话号码 n y插入联系人显示联系人排序电话号码查找联系人删除联系人修改联系人 图二 程序设计流程图三、详细设计(1)先定义结构体:struct telenumber /数据类char name10; /姓名 int phonenumber; /固定电话号码 int mobilenumber; /移动电话号码 int s; telenumber next;void readfile(istre
7、am in);void input();void display(); ;(2)主函数:输出菜单项,再通过输入1-7这几个数字,利用switch语句实现子函数调用.int main()bool flag=true;telemessage tele;char name20;while(flag)system(”cls”);cout”1.增加电话号码”endl;cout2.显示电话号码endl;cout”3.排序个人电话”endl;cout”4.查找个人电话endl;cout5.删除个人信息”endl;cout”6。修改个人信息”endl;cout”7。保存个人信息”endl;coutx;swit
8、ch(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;couta;return 0;(3)主函数中调用的一些子函数:a。插入insert() :void telemessage:ins
9、ert() /插入end-input(); /从单链表尾部插入endnext=new telenumber;end=end-next;coutendl插入成功endl;b。删除remove():void telemessage:remove() /删除char name20;telenumber p=new telenumber,temp=null; cout请输入要删除人的姓名:next=search(name); /先进行查找,找到所要删除的结点if(search(name) temp=p-next;pnext=p-next-next; /摘链delete temp;couttt删除成功!
10、”endl;elsecouttt没有找到!”next;p!=end;p=p-next)if(!strcmp(pname,name) if(x=4)p-display();return p;elsereturn p;if(x=4)cout查无此人endl;return 0;c.修改change(): void telemessage::change() /修改信息char name20;cout”请输入要修改的人的姓名:”;cinname;if(search(name))couttt已找到个人的信息,请输入新的信息!”endl; search(name)input();cout”修改成功!”en
11、dl; else couttt没有找到!next;if( p!=end) for(;p!=end;p=pnext)p-display(); else cout没有信息,请先输入”next,i=1;imobilenumberpnextmobilenumber)swap(p,p-next); /调用交换函数exchange=ps;show();f。保存save():void telemessage:save() /保存文件 out.open(telenumber.txt); /建立外存文件telenumber.txt for(telenumber p=headnext;p!=end;p=p-nex
12、t)outnamephonenumbermobilenumberendl; /将数据存到外存文件里out。close();cout保存成功!”endl; 四.调试与测试在调试过程中,程序没有错误,但是在功能实现的时候,删除功能不能实现,经过查阅书籍和老师的帮助下,最后解决这个问题,使得删除功能可以实现。不能实现的原因是在于对单链表删除概念不是很清晰,指针的知识掌握的不够.五关键源程序清单和执行结果includeincludefstream#includenamephonenumbermobilenumber;void telenumber::input() /信息输入 coutname;cou
13、tphonenumber;cout请输入移动电话号码”mobilenumber;s=j+; void telenumber::display() /信息输出cout”姓名:namet”固定号码:phonenumbert ”移动电话号码:”mobilenumbernext;in。open(”telenumber。txt”); /打开外存文件,看是否有数据存在if(!in)cout电话系统中没有任何号码,请输入号码readfile(in);if(endname0=0)break;endnext=new telenumber;end=endnext;in。close();cout读取电话号码系统成功
14、!endl;cout输入任意字母继续”a; telemessage:telemessage() /释放单链表telenumber temp;while(head-next!=end)temp=headnext;head=headnext;delete temp; delete head,end; /删除头尾指针void telemessage:save() /保存文件 out。open(telenumber.txt”); /建立外存文件telenumber。txt for(telenumber p=head-next;p!=end;p=pnext)outpnamet”phonenumber”t
15、”p-mobilenumberendl; /将数据存到外存文件里out。close();cout”保存成功!”name,p1name);tempmobilenumber=p1-mobilenumber;temp-phonenumber=p1phonenumber;temps=p1s;strcpy(p1name,p2-name);p1mobilenumber=p2mobilenumber;p1-phonenumber=p2phonenumber;p1-s=p2s;strcpy(p2-name,temp-name);p2-mobilenumber=temp-mobilenumber;p2-phon
16、enumber=tempphonenumber;p2s=temps;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;ibound;i+,p=p-next)if(pmobilenumberp-next-mobilenumber)swap(p,p-next); /调用交换函数exchange=ps;show();void telemessage::
17、insert() /插入end-input(); /从单链表尾部插入end-next=new telenumber;end=end-next;coutendl”插入成功endl;void telemessage:remove() /删除char name20;telenumber * p=new telenumber,temp=null; cout”请输入要删除人的姓名:name;pnext=search(name); /先进行查找,找到所要删除的结点if(search(name)) temp=p-next;pnext=p-nextnext; /摘链delete temp;couttt删除成功
18、!endl;elsecoutnext)if(!strcmp(pname,name)) if(x=4)pdisplay();return p;elsereturn p;if(x=4)cout查无此人endl;return 0;void telemessage::change() /修改信息char name20;coutname;if(search(name))cout”tt已找到个人的信息,请输入新的信息!”endl; search(name)input();cout修改成功!”endl; else couttt没有找到!next;if( p!=end) for(;p!=end;p=p-next)pdisplay(); else cout”没有信息,请先输入”endl;int main()bool flag=true;telemessage tele;char name20;while(flag)system(”cls);cout
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年城市燃气安全考试真题及答案
- 地毯清洗养护工程师考试试卷及答案
- 大黄鱼工厂化育苗技师考试试卷及答案
- 宠物麻醉师考试试卷及答案
- 城市防洪排涝运维技师考试试卷及答案
- 2025年质量成本分析考试真题及答案
- 寿司刺身门店冷链管理自查自纠整改回头看报告
- 2025年医保目录管理考试真题及答案
- 伤口造口护理安全质量目标及管理细则2026年
- 2026年市政管网工程考试真题及参考答案
- 2-半乳甘露聚糖产品介绍北京瓜尔润
- 2023年北京市东城区高考英语一模试题及答案解析
- 吴冬冬:长方体和正方体的认识PPT
- 佛山体育馆选手课件ppt 新疆兵团杨迪-倍的认识4:3
- 房屋租赁缴费明细表Excel模板
- GB/T 33899-2017工业物联网仪表互操作协议
- GB/T 2677.8-1994造纸原料酸不溶木素含量的测定
- GB/T 20703-2006船舶电气装置取暖和烹调电器
- GB/T 12615.3-2004封闭型平圆头抽芯铆钉06级
- 新教材-普通高中教科书物理选择性必修3教材介绍 (教材解读解析PPT)
- 儿童康复医学(全套510张课件)
评论
0/150
提交评论