




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计(论文)任务书 软 件 学 院 学院 软 件+ 机电 专业 20151 班一、课程设计(论文)题目 哈希表的设计与实现链地址法 二、课程设计(论文)工作自 2015 年 12 月 26 日起至 2016年 12 月 31 日止 三、课程设计(论文) 地点: 创 新 大 楼 机 房 四、课程设计(论文)内容要求:1本课程设计的目的训练学生灵活应用所学数据结构知识,独立完成问题分析,结合数据结构理论知识,编写程序求解指定问题;初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;提高综合运用所学的理论知识和方法独立分析和解决问题的能力,巩固、深化学生的理论知识,提升编程水平。2课程设计的任务及要求1)基本要求:要求从分析题目的需求入手,按设计抽象数据类型、构思算法、通过设计实现抽象数据类型、编写上机程序和上机调试等若干步骤完成题目,最终写出完整的报告;在程序设计阶段应尽量利用已有的标准函数,加大代码的重用率;程序设计语言推荐使用C/C+,程序书写规范,源程序需加必要的注释;每位同学需提交可独立运行的程序和规范的课程设计报告。2)课程设计论文编写要求理论设计部分以课程设计论文的形式提交,格式必须按照课程设计论文标准格式进行书写和装订;课程设计报告(论文)包括中文目录、设计任务、需求分析、概要设计、详细设计、编码实现、调试分析、课设总结、谢辞、参考文献、附录等;设计部分应包含系统功能模块图,调试分析应包括运行截图等。3)课程设计评分标准: 学习态度:10分;系统设计:20分;编程调试:20分;回答问题:20分;论文撰写:30分。4)参考文献:严蔚敏,吴伟民. 数据结构(C语言版)M. 清华大学出版社. 2010.3 严蔚敏,吴伟民. 数据结构题集(C语言版)M. 清华大学出版社. 1999.2何钦铭,冯燕等. 数据结构课程设计M. 浙江大学出版社. 2007.85)课程设计进度安排准备阶段(4学时):选择设计题目、了解设计目的要求、查阅相关资料;程序模块设计分析阶段(4学时):程序概要设计、详细设计;代码编写调试阶段(8学时):程序模块代码编写、调试、测试;撰写论文阶段(4学时):总结课程设计任务和设计内容,撰写课程设计论文。学生签名: 2016 年1 月 1 日6) 课程设计题目具体要求: (1)设每个记录有下列数据项:电话号码、用户名、地址(2)从键盘输入各记录,分别以电话号码和用户名为关键字建立不同的哈希表(3)采用链地址法解决冲突(4)查找并显示给定电话号码的记录 (5)查找并显示给定用户名的记录课程设计(论文)评审意见(1)学习态度(10分):优()、良()、中()、一般()、差(); (2)系统设计(20分):优( )、良()、中()、一般()、差(); (3)编程调试(20分):优()、良()、中()、一般()、差();(4)回答问题(20分):优()、良()、中()、一般()、差();(5)论文撰写(30分):优()、良()、中()、一般()、差();(6)格式规范性及考勤是否降等级:是()、否()评阅人: 周娟 职称: 讲师 2017 年 1 月 2 日系统流程图电话管理系统的整个系统主要分为两大模块:录入模块和查询模块,如功能模块图21。电话号码管理录入子系统查询子系统 姓名 地址 号码姓名查找号码查询21功能模块图录入模块可根据系统提示的信息填写,填完相应的信息,可按回车储存。以姓名和电话号码为关键字,分别用Hash函数运算出一个相对应的值,把这个值作为结点的存储地址,分别存入姓名散列表和电话号码散列表的对应位置。查询模块分为两部分,姓名查询和号码查询,姓名查询可有一个姓名查到多个记录;号码查询是一一映射。查找时,通过所要寻找的关键字用同样的Hash函数计算地址,判断存的内容是否跟关键字是否一样,若一样则记录找到则可找到你要查找的内容。否则无此记录。哈希表散列方法:电话散列计算key值是从第三个数字开始相加得到一个总和,用总和除以20取余数得到其散列地址。同样对于姓名的存储利用姓名的ASSIC值对应相加。开始进入录入系统获得关键字key用Hash(key)计算地址赋予指针p比较num的值是否和关键字相等是否q=q-next继续与num比较是否相等比较num的值是否和关键字相等否是输出记录未找到记录结束系统流程图源代码#include#include#include#include#include#define NULL 0unsigned int key;unsigned int key1;unsigned int key2;int *p;struct nodechar name8,address20;char num11;node *next;typedef node *pnode;typedef node *mingzi;node *phone;node *nam;node *a;using namespace std;hash(char num11)int i=3,j;key1=(int)num2;while(numi!=NULL)key1+=(int)numi;i+;key1=key1%20;hash2(char name8)int i=1,j;key2=(int)name0;while(namei!=NULL)key2+=(int)namei;i+;key2=key2%20;node *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;newphone-next = phonehash(newphone-num)-next;phonehash(newphone-num)-next=newphone;newname-next = namhash2(newname-name)-next;namhash2(newname-name)-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;while(p)coutname_address_numnext;void list2()int i;node *p;for(i=0;inext;while(p)coutname_address_numnext;void find(char num11)int i,j=0;node *p;for(i=0;inext;while(p)if(strcmp(num,p-num)=0)coutname_address_numnext;if(j=0)cout无此记录。endl;void find2(char name8)int i,j=0;node *p;for(i=0;inext;while(p)if(strcmp(name,p-name)=0)coutname_address_numnext;if(j=0)cout无此记录。next;phonekey-next=p-next;void Delete1(char name8)node *p;hash2(name);p=namkey-next;namkey-next=p-next;void save()int i;node *p;fstream iiout(out.txt, ios:out);for(i=0;inext;while(p)iioutname_address_numnext;void menu()cout=endl;cout| 0.添加记录 |endl;cout| 1.查找记录 |endl;cout| 2.姓名散列 |endl;cout| 3.号码散列 |endl;cout| 4.清空记录 |endl;cout| 5.保存记录 |endl;cout| 6.删除信息 |endl;cout| 7.退出系统 |endl;cout=endl;int main()cout 欢迎使用电话号码查找系统 endl;cout*endl;char num11;char name8;create();create2();int sel;while(1)menu();cout请输入要选择的操作:sel;if(sel=0)cout请输入要添加的内容:endl;apend();else if(sel=1)cout9.号码查找,8.姓名查询b;if(b=9)cout请输入电话号码:num;cout输出查找的信息:endl;find(num);else if(b=8)cout请输入姓名:name;cout输出查找的信息:endl;find2(name);elseprintf(不合法操作!n);else if(sel=2)cout姓名散列结果:endl;list2();else if(sel=3)cout号码散列结果:endl;list();else if(sel=4)cout列表已清空:endl;create();create2();else if(sel=5)cout通信录已保存:endl;save();el
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年蜂王浆行业研究报告及未来行业发展趋势预测
- 皮革护理师作业指导书
- 灌区供水工作业指导书
- 轧钢成品工作业指导书
- 2025年妇产科临床护理技能考核模拟试卷答案及解析
- 酒店前厅接待流程标准操作
- 银行柜员操作规程及风险控制要点
- 小学语文教学目标详细分析
- 医疗品管圈活动案例及发言稿
- 汽车维修实训操作指导手册
- 2025年三类人员安全员C证继续教育题库及参考答案
- 2025内蒙古锡林郭勒盟公安局招聘警务辅助人员95人考试参考题库附答案解析
- 急性肾小球肾炎
- 工程管理面试题目及答案
- 《一年级开学第一课》课件
- 2025秋人教版(2024)八年级上册英语一学期教学计划
- 会展推广的合同范本
- 武消院火灾调查B讲义01电气火灾调查
- 起搏器植入患者全程护理要点
- (2025年标准)会议代办协议书
- 工贸企业企业安全检查表
评论
0/150
提交评论