问题描写:
为某个单位树立一个员工通信录管理系统,可以利便查询每一一个员工的电话与地址。设计散列表存储,设计并实现通信录查找系统。文章源自微观生活(93wg.com)微观生活-https://93wg.com/2945.html
1.基本请求文章源自微观生活(93wg.com)微观生活-https://93wg.com/2945.html
(1)每一个记录有以下数据项:电话号码、用户名、地址;文章源自微观生活(93wg.com)微观生活-https://93wg.com/2945.html
(2)从键盘输入各记录,分别以电话号码为关键字树立散列表;文章源自微观生活(93wg.com)微观生活-https://93wg.com/2945.html
(3)采取二次探测再散列法解决冲突;文章源自微观生活(93wg.com)微观生活-https://93wg.com/2945.html
(4)查找并显示给定电话号码的记录;文章源自微观生活(93wg.com)微观生活-https://93wg.com/2945.html
(5)通信录信息文件保留。文章源自微观生活(93wg.com)微观生活-https://93wg.com/2945.html
2.重点、难点文章源自微观生活(93wg.com)微观生活-https://93wg.com/2945.html
重点:文章源自微观生活(93wg.com)微观生活-https://93wg.com/2945.html
(1)通过试验深刻理解哈希表既是一种存储情势,又是一种查找办法;文章源自微观生活(93wg.com)微观生活-https://93wg.com/2945.html
(2)哈希表的构造;
(3)哈希冲突方案的设计。
难点:哈希表的构造与哈希冲突方案的设计
3.功课及课外学习请求:
依照题意请求独立进行设计,设计收场后要按请求写出课程设计讲演。
本知识点的讲解以及学习,可以支持“毕业请求4钻研”中的“指标点4.1能够运用科学的钻研办法对繁杂软件工程问题进行需求分析钻研;指标点4.2熟识繁杂软件系统的开发以及利用环境,钻研制订合理的软件设计与开发方案。指标点4.3能够对原型验证办法进行钻研与分析,合理验证软件系统”的指标达成度进行评估。使学生在解决具体问题的进程中,能够灵便熟练地选择适合的数据结构及设计有效的算法,从而加深对经常使用数据结构的理解,强化学生的逻辑思惟能力以及动手能力,巩固优良的编程习惯,掌握工程软件设计的基本办法,为后续课程的学习打下坚实基础。
4.代码:
include<stdlib.h> include<cstring> define MAXSIZE 300 34;,all.individuals); for { cin>>all.addr_list[i].name; cin>>all.addr_list[i].tel; cin>>all.addr_list[i].addr; if!=11) { printf; cin>>all.addr_list[i].name; cin>>all.addr_list[i].tel; cin>>all.addr_list[i].addr; } all.addr_list[i].key=all.addr_list[i].tel[3]+all.addr_list[i].tel[10]; } printf; } void population::init_hash_list { for { strcpy; strcpy; strcpy; all.hash_list[i].key=0; } } void population::hash_list_do { init_hash_list; int i,j=1,x,temp; init_hash_list; all.n=max_prime; printf; for { temp=x=all.addr_list[i].key%all.n; while//此处需要用二次探测再散列法解决冲突 { x=temp; x=%all.n; if { x=temp; x=%all.n; } j++; } all.hash_list[x].key=all.addr_list[i].key; strcpy; strcpy; strcpy; } cout<<&34;<<endl; } void population::hash_out { FILE *fp; if)==NULL) { printf; exit; } fprintf; printf; printf; for { if { cout<<all.hash_list[i].name<<&34;; cout<<all.hash_list[i].tel<<&34;; cout<<all.hash_list[i].addr<<&34;; cout<<all.hash_list[i].key<<&34;<<endl; fprintf; } } fclose; } void population::search_tel { int i,temp,x,j=1; char room[12]; printf; cin>>room; temp=room[3]+room[10]; x=temp%all.n; if==0) printf; else { while) { x=%all.n; if) { x=temp; x=%all.n; } j++; } printf; } } void msgbox { printf; printf; printf; printf; printf; printf; } int main { char op; cout<<&34;; all.info_input; all.hash_list_do; msgbox; cout<<&34;; while { msgbox; switch { case &39;: all.search_tel;break; case &39;: all.hash_out;break; case &39;: exit;break; default: continue; } } cout<<&34;; }
以上就是微观生活(93wg.com)关于“课程设计:员工通信录管理系统!重难点分析以其源码示例”的详细内容,希望对大家有所帮助!
评论