设计哈希表实现电话号码查询系统c语言版(课程设计报告)

设计哈希表实现电话号码查询系统c语言版(课程设计报告)

ID:9937114

大小:273.00 KB

页数:32页

时间:2018-05-16

设计哈希表实现电话号码查询系统c语言版(课程设计报告)_第1页
设计哈希表实现电话号码查询系统c语言版(课程设计报告)_第2页
设计哈希表实现电话号码查询系统c语言版(课程设计报告)_第3页
设计哈希表实现电话号码查询系统c语言版(课程设计报告)_第4页
设计哈希表实现电话号码查询系统c语言版(课程设计报告)_第5页
资源描述:

《设计哈希表实现电话号码查询系统c语言版(课程设计报告)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、《软件技术基础》课程设计设计哈希表实现电话号码查询系统一﹑目的通过课程设计,巩固和加深对结构体、文件、哈希表等理论知识的理解;掌握现实复杂问题的分析建模和解决方法,掌握包括问题描述、系统分析、设计建模、代码实现、结果分析等的方法;提高利用计算机分析解决综合性实际问题的基本能力;锻炼个人动手能力,历练自身素质。哈希表实现电话号码查询系统是利用哈希表实现电话系统的快速查询,程序实现哈希表建表和查表,并实现对没有查找到的内容进行记录。掌握哈希表的工作原理,熟悉建立哈希表、对哈希表冲突处理、哈希表查找等功能的实现,回顾文件读取、写入,回顾随机函数的作用。二﹑需求分析1.输入的

2、形式和输入值的范围数据输入分两种模式:一种是将原有数据记录在old.txt文档中,由程序读入;另一种是由程序随机生成,并储存在new.txt文档中。数据的格式为:姓名、电话号码、家庭住址。用户使用时显示菜单,用户输入菜单选项完成操作。2.输出的形式查找的结果显示在屏幕上。未被查找到的内容输出到out.txt文档中。在用户需要时,将哈希表显示在屏幕上。3.程序所能达到的功能根据用户的选择,从原有文档读入数据或随机生成数据,分别以姓名和电话号码做为关键字生成哈希表。生成哈希表后用户可以根据相应关键字进行数据的查找,若查找到对应的数据则将数据输出到屏幕,若没有查找到对应的数

3、据则将用户输入的查找内容输出到out.txt文档。在用户选择显示哈希表时,显示完整的哈希表。程序使用文字菜单的友好界面。在数据输入时对输入内容进行范围控制。4.初步测试计划在old.txt文档中输入30条记录,令程序读入并分别以姓名和电话号码做为关键字生成哈希表,查找记录中原有的记录,查看输出数据,查找记录中没有的记录查看回馈,查看整个哈希表的数据。令程序随机生成记录,查看new.txt文档,分别以姓名和电话号码做为关键字生成哈希表,查看整个哈希表的数据,分别查找原有和没有的记录,查看回馈。三﹑概要设计32中南民族大学计算机科学学院自动化专业学号:姓名:《软件技术基础

4、》课程设计1.数据类型定义结构体类型存储每条记录。structData{charname[sizename];charphone[sizephone];charaddress[sizeaddress];boolused;}*hash_data;2各种函数说明:intget_hashkey(char*str,intselect)//获得关键字voidshow(inti)//显示每条信息voidStore(char*str)//在没有找到时输出未找到的记录,打开文件out.txt并将记录储存在文档中voidAllshow()//输出哈希表中的记录voidAuto_file

5、()//随机生成数据,并将数据保存在new.txtvoidBuild_Hash(intHashType)//建立哈希表voidFindName()//根据姓名查找哈希表中的记录voidFindPhone()//根据电话号码查找哈希表中的记录四﹑详细设计1.头文件及定义结构体类型#include#include#include#includestructData{32中南民族大学计算机科学学院自动化专业学号:姓名:《软件技术基础》课程设计stringname;//stringphone;strin

6、gaddress;};Data*hash_data;2.定义长度#definesizehash100#definesizename20#definesizephone15#definesizeaddress403.获取关键字函数intget_hashkey(char*str,intselect){intKey=0,ReKey,m;chartmp[10];for(inti=0;i

7、or(i=0;i<10;i++){32中南民族大学计算机科学学院自动化专业学号:姓名:《软件技术基础》课程设计ReKey=(m+A[i])%sizehash;if(!hash_data[ReKey].used){Key=ReKey;break;}}}elseif(select==2){ReKey=m;for(i=0;i<100;i++){ReKey=ReKey+1;ReKey=ReKey%sizehash;if(!hash_data[ReKey].used){Key=ReKey;break;}}}}returnKey;}4.产生hash表32中南民族

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。