ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:53.82KB ,
资源ID:8335838      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8335838.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(哈希表实现电话号码查询系统.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

哈希表实现电话号码查询系统.docx

1、哈希表实现电话号码查询系统设计性综合性实验实验课题名称: 院系:计算机科学与技术学院 专业:计算机科学与技术 课程: 数据结构 教师: 学号: 姓名: (组长) 学号: 姓名: 学号: 姓名: 学号: 姓名: 学号: 姓名: 学号: 姓名: 至 学年度 学期实验名称:哈希表实现电话号码查询系统实验性质:设计性(*)综合性(*)实验器材:PC机并装有VC+6.0环境实验目的:利用数据结构课程的相关知识完成一个具有一定难度的综合设计题目,利用C/C+语言进行程序设计,并规范地完成课程设计报告。通过课程设计,巩固和加深对线性表、栈、队列、字符串、树、图、查找、排序等理论知识的理解;掌握现实复杂问题的

2、分析建模和解决方法(包括问题描述、系统分析、设计建模、代码实现、结果分析等);提高利用计算机分析解决综合性实际问题的基本能力。一、目的利用数据结构课程的相关知识完成一个具有一定难度的综合设计题目,利用C/C+语言进行程序设计,并规范地完成课程设计报告。通过课程设计,巩固和加深对线性表、栈、队列、字符串、树、图、查找、排序等理论知识的理解;掌握现实复杂问题的分析建模和解决方法(包括问题描述、系统分析、设计建模、代码实现、结果分析等);提高利用计算机分析解决综合性实际问题的基本能力。二、需求分析1、程序的功能1.1录入姓名、电话、住址1.2查找功能1.3散列方式1.4清空记录1.5保存成TXT格式

3、1.6退出三、程序设计3.1定义结构体struct node /建节点 char name8,address20; char num11; node * next; ; 3.1函数列表和功能说明不同的函数来比较冲突void hash(char num11) /哈希函数 void hash2(char name8) /哈希函数不同的散列方式void find(char num11) /查找用户信息 void find2(char name8) /查找用户信息 void save() /保存用户信息 void menu() /菜单 int main() 四、 输出形式 4.1数据文件“old.tx

4、t”存放原始电话号码数据。 4.2查找到相关信息时显示姓名、地址、电话号码。五、调试结果调试界面图如下录入的联系人姓名、地址、联系电话截图如下程序如下已通过上机调试/#include iostream.h #include #include string.h #include fstream #define NULL 0 unsigned int key; unsigned int key2; int *p; struct node /建节点 char name8,address20; char num11; node * next; ; typedef node* pnode; typede

5、f node* mingzi; node *phone; node *nam; node *a; using namespace std; /使用名称空间 void hash(char num11) /哈希函数 int i = 3; key=(int)num2; while(numi!=NULL) key+=(int)numi; i+; key=key%20; void hash2(char name8) /哈希函数 int i = 1; key2=(int)name0; while(namei!=NULL) key2+=(int)namei; i+; key2=key2%20; node*

6、input() /输入节点 node *temp; temp = new node; temp-next=NULL; cout输入姓名:temp-name; cout输入地址:temp-address; cout输入电话:temp-num; return temp; int apend() /添加节点 node *newphone; node *newname; newphone=input(); newname=newphone; newphone-next=NULL; newname-next=NULL; hash(newphone-num); hash2(newname-name); n

7、ewphone-next = phonekey-next; phonekey-next=newphone; newname-next = namkey2-next; namkey2-next=newname; return 0; void create() /新建节点 int i; phone=new pnode20; for(i=0;inext=NULL; void create2() /新建节点 int i; nam=new mingzi20; for(i=0;inext=NULL; void list() /显示列表 int i; node *p; for(i=0;inext; whil

8、e(p) coutname_address_numnext; void list2() /显示列表 int i; node *p; for(i=0;inext; while(p) coutname_address_numnext; void find(char num11) /查找用户信息 hash(num); node *q=phonekey-next; while(q!= NULL) if(strcmp(num,q-num)=0) break; q=q-next; if(q) coutname_ address_numendl; else cout无此记录next; while(q!= N

9、ULL) if(strcmp(name,q-name)=0) break; q=q-next; if(q) coutname_ address_numendl; else cout无此记录endl; void save() /保存用户信息 int i; node *p; for(i=0;inext; while(p) fstream iiout(out.txt, ios:out); iioutname_address_numnext; void menu() /菜单 coutttendl; coutttendl; coutttendl; cout*个人电话号码查询系统*ttendl; cout

10、tt0.请添加联系人记录!endl; couttt1.查找联系人记录endl; couttt2.联系人姓名散列endl; couttt3.联系人号码散列endl; couttt4.清空联系人记录endl; couttt5.保存到指定文件夹endl; couttt6.退出系统endl; cout*ttsel; if(sel=1) cout7按号码查询,8按姓名查询b; if(b=7) cout请输入电话号码:num; cout输出查找的信息:endl; find(num); else cout请输入姓名:name; cout输出查找的信息:endl; find2(name); if(sel=2) cout姓名散列结果:endl; list2(); if(sel=0) cout请输入要添加的内容:endl; apend(); if(sel=3) cout号码散列结果:endl; list(); if(sel=4) cout列表已清空:endl; create(); create2(); if(sel=5) cout通信录已保存:endl; save(); if(sel=6) return 0; return 0; 实验成绩学 号 姓 名课题小组自评分数最后得分

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1