当前位置:文档之家› 数据结构课设 通讯录系统的设计与实现 哈希表

数据结构课设 通讯录系统的设计与实现 哈希表

数据结构课设 通讯录系统的设计与实现 哈希表
数据结构课设 通讯录系统的设计与实现 哈希表

课程设计(论文)任务书

软件学院学院软件工程专业班

一、课程设计(论文)题目:通讯录管理系统的设计与实现——哈希表

二、课程设计(论文)工作自2016 年 1 月 4 日起至 2016 年 1 月 10 日止

三、课程设计(论文) 地点: 软件测试中心(北区测试二室)

四、课程设计(论文)内容要求:

1.本课程设计的目的

⑴训练学生灵活应用所学数据结构知识,独立完成问题分析,结合课程的理论知识,编写程序求解指定问题;

⑵初步掌握软件开发过程的问题分析、系统设计、编码、测试等基本方法和技能;

⑶提高综合运用所学的理论知识和方法独立分析和解决问题的能力,巩固、深化学生的理论知识,提升编程水平。

2.课程设计的任务及要求

1)基本要求:

⑴要求从分析题目的需求入手,按设计抽象数据类型、构思算法、通过设计实现抽象数据类型、编写上机程序和上机调试等若干步骤完成题目,最终写出完整的报告;

⑵在程序设计阶段应尽量利用已有的标准函数,加大代码的重用率;

⑶程序设计语言推荐使用C/C++,程序书写规范,源程序需加必要的注释;

⑷每位同学需提交可独立运行的程序和规范的课程设计报告。

2)课程设计论文编写要求

⑴理论设计部分以课程设计论文的形式提交,格式必须按照课程设计论文标准格式进行书写和装订;

⑵课程设计报告包括中文目录、设计任务、需求分析、概要设计、详细设计、编码实现、调试分析、课设总结、谢辞、参考文献、附录等;

⑶设计部分应包含系统功能模块图,调试分析应包括运行截图等。

3)课程设计评分标准:

⑴学习态度:10分;

⑵系统设计:20分;

⑶编程调试:20分;

⑷回答问题:20分;

⑸论文撰写:30分。

4)参考文献:

⑴严蔚敏李冬梅吴伟民着.数据结构(C语言版)[M]. 人民邮电出版社.

⑵李春葆. 数据结构教程上机实验指导[M]. 清华大学出版社.

⑶何钦铭,冯燕等. 数据结构课程设计[M]. 浙江大学出版社.

5)课程设计进度安排

⑴准备阶段(4学时):选择设计题目、了解设计目的要求、查阅相关资料;

⑵程序模块设计分析阶段(4学时):程序概要设计、详细设计;

⑶代码编写调试阶段(8学时):程序模块代码编写、调试、测试;

⑷撰写论文阶段(4学时):总结课程设计任务和设计内容,撰写课程设计论文。

学生签名:

2016 年 1 月4 日

6)课程设计题目具体要求:

任务:利用哈希表完成通讯录的一般性管理工作:

(1) 添加信息;

(2) 显示信息:可以按照手机或联系人的姓名拼音排序显示;

(3) 查找:用名字和手机号分别作为查找的依据,进行查找;

(4) 编辑信息;

(5) 删除信息;

(6) 保存到文件;

要求:(1)每条记录至少包括姓名、手机、QQ、电子邮箱、城市、邮编等信息。

(2)界面友好,演示程序以用户和计算机的对话方式进行,可反复操作。

课程设计(论文)评审意见

(1)学习态度(10分):优()、良()、中()、一般()、差();

(2)系统设计(20分):优()、良()、中()、一般()、差();

(3)编程调试(20分):优()、良()、中()、一般()、差();

(4)回答问题(20分):优()、良()、中()、一般()、差();

(5)论文撰写(30分):优()、良()、中()、一般()、差();

(6)格式规范性及考勤是否降等级:是()、否()

评阅人:职称:讲师

2016 年1 月12 日

目录

一.设计任务------------------------------------------------------------------------------- 1

二.需求分析------------------------------------------------------------------------------- 1

三.系统设计------------------------------------------------------------------------------- 2

四.编码实现------------------------------------------------------------------------------- 6

五.调试分析------------------------------------------------------------------------------- 10

六.课设总结------------------------------------------------------------------------------- 15

七.谢辞------------------------------------------------------------------------------------- 15

八.参考文献-------------------------------------------------------------------------------- 15

一、设计任务

通讯录管理系统的设计与实现——哈希表

任务:利用哈希表完成通讯录的一般性管理工作:

(1)添加信息;

(2)显示信息:可以按照手机或联系人的姓名拼音排序显示;

(3)查找:用名字和手机号分别作为查找的依据,进行查找;

(4)编辑信息;

(5)删除信息;

(6)保存到文件;

要求:

(1)每条记录至少包括姓名、手机、QQ、电子邮箱、城市、邮编等信息。

(2)界面友好,演示程序以用户和计算机的对话方式进行,可反复操作。

二、需求分析

本问题的关键和难点在于如何解决散列的问题。由于结点的个数无法的知,并且如果采用线性探测法散列算法,删除结点会引起“信息丢失”的问题。所以采用链地址法散列算法。采用拉链法,当出现同义词冲突时,使用链表结构把同义词链接在一起,即同义词的存储地址不是散列表中其他的空地址。

首先,解决的是定义链表结点,在拉链法中,每个结点对应一个链表结点,它由三个域组成,而由于该程序需要分别用电话号码和用户名为关键字建立哈希表,所以该链表结点它是由四个域组成.name[16] 、num[11]和address[20]都是char浮点型,输入输出都只能是浮点型的。

采用拉链法,其中的所有同义词构成一个单链表,再由一个表头结点指向这个单链表的第一个结点。这些表头结点组成一个一维数组,即哈希表。数组元素的下标对应由散列函数求出的散列地址。

其次,设计散列函数,本程序需要设计两个散列函数才能解决问题,程序需要分别为以电话号码和用户名为关键字建立哈希表。所以要分别以用户名、号码为关键字建立两个散列函数,

对于以号码为关键字的散列函数,是将十一个数字全部相加,然后对20求余。得到的数作为地址。对于以用户名为关键字的散列函数,是将所有字母的ASCLL 码值相加,然后对20求余。

再次,需要实现添加结点的功能,则其中必须包括一个输入结点信息、添加结点的函数;

需要实现查找函数,则必须包括一个查找结点的函数;需要对文件进行保存,则必需要包括

保存文件函数。还需要包括一个主菜单和一个主函数。

三、系统设计

在拉链法中,每个结点对应一个链表结点,它由三个域组成,而由于该程序需要分别用电话号码和用户名为关键字建立哈希表,所以该链表结点它是由四个域组成,链地址法结点结构如图:name[16] num[11] address[20] next

其中name[16]和num[11]是分别为以电话号码和用户名为关键字域,存放关键字;address[20] 为结点的数据域,用来存储用户的地址。Next 指针是用来指向下一个结点的地址。 主要算法的流程图如下:

初始化散列链表(1)并为其动态分配内存空间

初始化散列链表(2)并为其动态分配内存空间

Hash : SASH2:

Apend()

FIND:

首先定义结点结构体类型,在拉链法中,每个结点对应一个链表结点,它由三个域组成,而由于该程序需要分别用电话号码和用户名为关键字建立哈希表,所以该链表结点它是由四个域组成,链地址法结点结构如图:

name[16] num[11] a ddress[20] next

其中name[16]和num[11]是分别为以电话号码和用户名为关键字域,存放关键字;address[20]

为结点的数据域,用来存储用户的地址。next指针是用来指向下一个结点的地址。

#include 用来输入/输出文件流类包含的文件是fstream。unsigned int key 和unsigned int key2由于题目要求分别以电话号码和用户名为关键字,所以在此设计两个关键字。

其次,设计两个hash()函数,以电话号码为关键字建立哈希函数hash(char

num[11])。哈希函数的主旨是将电话号码的十一位数字全部加起来,然后在对20求余。将计算出来的数作为该结点的地址赋给key。以用户名为关键字建立哈希函数hash2(char name[8])。利用强制类型转换,将用户名的每一个字母的ASCLL码值相加并且除以20后的余数。将计算出来的数作为该结点的地址赋给key2。

再次,建立结点,并添加结点,利用拉链法解决冲突。建立结点应包括动态申请内存空间。向结点中输入信息。同时将结点中的next指针等于null。添加结点,首先需要利用哈希函数计算出地址即关键字,其次将该结点插入以关键字为地址的链表后,当然由于分别以用户名和电话号码为关键字,所以分两种情况,如果以用户名为关键字则调用void hash2(char name[8])函数,并且将结点插入对应的散列链表中,如果以电话号码为关键字则调用void hash(char num[11])函数,并且将结点插入对应的散列链表中。

并且,需要两个建立散列链表的函数,分别动态申请一定的空间,用于动态申请散列链表。void create()用来动态创建以电话号码为关键字的链表数组,void create2()用来动态创建以用户名为关键字的链表数组。

同样,需要两个显示链表的函数,利用for循环和while语句将表中信息按要求输出来。

想要实现查找功能,同样需要两个查找函数,无论以用户名还是以电话号码为关键字,首先,都需要利用hash函数来计算出地址。再依次对比,如果是以电话号码为关键字,比较其电话号码是否相同,如果相同则输出该结点的所有信息,如果以用户名为关键字,则比较用户名是否相同,如果相同则输出该结点的所有信息。如果找不到与之对应相同的,则输出“无记录”。

同时需要一个保存文件的函数,利用一个for循环,当用hash函数计算的地址,在链表的动态申请的数组范围之内,则创建一个文件流对象,并将结点信息保存在该文件中。

最后,需要创建一个主菜单和一个主函数,主菜单便于用户的使用,主函数中,包括所有功能对应的数值,使之和主菜单相吻合。

四、编码实现

#include

#include

#include

using namespace std;

#define NULL 0

unsigned int key;

以上可以看出,散列表的平均查找长度是填充因子的函数,和散列表的长度没有

关系,因此在实际应用中,我们应该选择一个适当的填充因子,以便把平均查找长度控制在一个尽量小的范围内。

六、课设总结

经验和体会:

最初拿到这个问题,因为以前在做C++语言课程设计的时候拿到的也是这个题目,所以很熟悉,但是数据结构课上多用的是C,所以用C++来设计并且参考了以前做的题目,联系了数据结构课本上和题目要求做出了设计。刚开始想到的是电话号码的存储肯定不是固定的一成不变的,所以需要建立动态链表,并且如果采用线性探测法散列算法解决冲突问题,删除结点会引起“信息丢失”的问题。因为在线性探测散列法中,我请教了同学,处理冲突的方式是把同义词放到散列表中的下一个空地址,而查找是沿着同一个路径进行的。因此当删除了一个结点后,由于标志数组被更新,其后的同义词也将不再被查找到。而采用拉链法,当出现同义词冲突时,使用链表结构把同义词链接在一起,即同义词的存储地址不是散列表中其他的空地址。因此需要进行详细的分析来发现和解决这些情况。这也是一个对问题从认识到建立模型,之后提出方法,修改方法,最终解决问题的过程。

七、谢辞

感谢华东交大软件学院与王英华老师给了我课程设计这个平台,让我有了

这个磨砺自己与锻炼能力的机会,感谢同学们耐心帮我解决问题。

八、参考文献

⑴严蔚敏李冬梅吴伟民着.数据结构(C语言版)[M]. 人民邮电出版社.

⑵李春葆. 数据结构教程上机实验指导[M]. 清华大学出版社.

⑶何钦铭,冯燕等. 数据结构课程设计[M]. 浙江大学出版社.

大工15春《SQL数据库课程设计》模板及要求(最新)

大工15春《SQL数据库课程设计》模板及要求网络教育学院 《SQL数据库课程设计》 题目:XX系统的设计与实现 学习中心: 专业: 年级:年春/秋季

学号: 学生: 指导教师: 《SQL数据库课程设计》要求 《SQL数据库课程设计》是大连理工大学网络教育学院计算机应用技术专业开展的一项实践教学环节,是理论联系实践的纽带和桥梁,是培养学生综合运用所学知识解决实际问题的有效手段。该课程设计要求如下:1.要求学生以SQL Server 2008或其他版本为后台数据库,以VB、VC 或其他开发工具作为前台开发工具,围绕自己选定的某一个具体的系统完成一个小型数据库应用系统的开发,例如《图书管理系统的设计与实现》《书店管理系统的设计与实现》等。其课程设计具体内容包括项目概况、需求分析、详细设计等,详见课程离线作业中上传的《SQL数据库课程设计模板》。 注意:禁止撰写《学生成绩管理系统》课程设计!! 2.要求学生必须按照《SQL数据库课程设计模板》提供的格式和内容进行课程设计,完成课程设计模板提供的全部课程设计内容,字数要求达到3000字以上。 3.学生在进行课程设计的过程中,可参考辅导教师在导学资料中上传的

文献资料,有问题可通过课程论坛答疑。 4.2015年春季学期学生提交本课程设计形式及截止时间 学生需要以WORD附件形式(附件的大小限制在10M以内)将完成的课程设计以"离线作业"形式上传至课程平台中的"离线作业"模块,通过选择已完成的课程设计,点"上交"即可,如下图所示。 截止时间:2015年9月1日。在此之前,学生可随时提交课程设计,如需修改,可直接上传新文件,平台会自动覆盖原有文件。 5.课程设计批阅 老师会在离线作业关闭后集中批阅课程设计,在离线作业截止时间前不进行任何形式的批阅。 注意: 本课程设计应该独立完成,不准抄袭他人或者请人代做,如有雷同作业,

数据库课程设计完整版

数据库课程设计完 整版

HUNAN CITY UNIVERSITY 数据库系统课程设计 设计题目:宿舍管理信息系统姓名: 学号: 专业:信息与计算科学指导教师:

20年 12月1日 目录 引言3 一、人员分配 4 二、课程设计目的和要求 4 三、课程设计过程 1.需求分析阶段 1.1应用背景 5 1.2需求分析目标5 1.3系统设计概要5 1.4软件处理对象 6 1.5系统可行性分析6 1.6系统设计目标及意义7 1.7系统业务流程及具体功能 7

1.8.1数据流程图8 2.系统的数据字典11 3.概念结构设计阶段 13 4.逻辑结构设计阶段 15 5.物理结构设计阶段 18 6.数据库实施 18 7.数据库的运行和维护 18 7.1 解决问题方法 19 7.2 系统维护 19 7.3 数据库性能评价 19 四、课程设计心得. 20参考文献 20 引言

学生宿舍管理系统对于一个学校来说是必不可少的组成部分。当前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强能够接受,但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的。而且当查找某条记录时,由于数据量庞大,还只能靠人工去一条一条的查找,这样不但麻烦还浪费了许多时间,效率也比较低。当今社会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,计算机化管理正是适应时代的产物。信息世界永远不会是一个平静的世界,当一种技术不能满足需求时,就会有新的技术诞生并取代旧技术。21世纪的今天,信息社会占着主流地位,计算机在各行各业中的运用已经得到普及,自动化、信息化的管理越来越广泛应用于各个领域。我们针对如此,设计了一套学生宿舍管理系统。学生宿舍管理系统采用的是计算机化管理,系统做的尽量人性化,使用者会感到操作非常方便,管理人员需要做的就是将数据输入到系统的数据库中去。由于数据库存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失。这无疑是为信息存储量比较大的学校提供了一个方便、快捷的操作方式。本系统具有运行速度快、安全性高、稳定性好的优点,而且具备修改功能,能够快速的查询学校所需的住宿信息。 面对当前学校发展的实际状况,我们经过实地调研之后,对宿舍管理系统的设计开发做了一个详细的概述。

通讯录管理系统的设计与实现精选文档

通讯录管理系统的设计与实现精选文档 TTMS system office room 【TTMS16H-TTMS2A-TTMS8Q8-

大连民族大学 计算机科学与工程学院实验报告 实验题目:1. 学生信息管理系统的设计与实现 2. 暴力算法在旅行商问题中的应用 课程名称:信息系统开发案例 实验类型:□演示性□验证性□操作性□设计性综合性 专业:软件工程班级:144 学生姓名:赵耀学号:30 实验日期:2017年3月6日—4月27日 实验地点:金石滩校区I303机房 实验学时:24学时实验成绩: 指导教师:赵戈

通讯录管理系统的设计与实现 摘要 本项目用C++语言开发了一个简单的通讯录管理系统,该系统能对联系人 信息进行“增删改查”。系统的UI设计基于Windows系统自带的控制台。测试结 果表明该通讯录管理系统可以稳定正确运行,具有较高的可靠性。 关键词:通讯录管理系统;C++语言;Windows 控制台 目录

1.选题的背景和意义 当今时代,计算机已经成为人们生活中不可或缺的一部分,它打破了地域时间限制,改变了人们的工作和生活方式。人们之间的联系越来越便捷,这就使得要经常与很多人保持着联系,而单纯依靠人脑已经很难记住所有人的联系方式还有其各做附加信息。通讯录系统能方便用户的需求,满足用户迅速、准确的查找修改或者删除联系人信息,把各个联系人信息以文件保存。本文介绍了c++编写简易通讯录管理:系统的分析,功能模块的设计,系统的流程图及运行界面。此系统的主要管理的信息由:联系人的姓名、性别、电话号码,加深对c++语言程序设计的理解,提高算法设计的能力,锻炼编程的能力。用c 语言编程一个通讯录管理系统软件,要求能实现通讯录管理系统中的增加信息,删除信息,显示通讯里的所有信息,按名字查询信息,保存通讯录,退出系统。。 2.需求分析 用例图 通讯录管理系统的用例图如下图所示:

通讯录管理系统

通讯录管理系统说明书 一、使用的技术和开发平台: 基于https://www.doczj.com/doc/e117556576.html,技术开发的数据库应用程序。开发平台为windows,使用的语言为C#2008,数据库为:MSSQL SERVER2008 二、系统功能模块 本系统是使用c#2008和MSSQL SERVER2008开发的一个数据库应用程序,其主要功能是实现对不同组别的联系人信息进行管理,具体来说分如下几个功能模块: 1、后台管理模块 对系统管理员账户的添加、删除、修改等操作 2、登录验证系统 系统启动时,将出现登录窗口,要求用户输入正确的用户名和密码,否则无法进入系统。 2、联系人管理系统 登录成功后将进入系统的主窗口(FormMain.cs),如下图所示: 其中组别是对联系人分的类,根据添加到数据库中的所有联系人的组别确定,是可以更改的。主窗口第一次显示时,默认显示第一个组别的所有联系人。可以在左边树形列表中选择不同的组别,同时右边的ListView自动显示不同组别的所有联系人。在联系人菜单下可以实现新增联系人、删除联系人、修改或查看联系人以及搜索,不论是新增、删除还是修改联系人完毕后,下面的ListView会同时更新显示联系人及组别。状态栏显示登录账户名和选中组别包含的联系人个数。 当用户单击新增联系人菜单项时,弹出如下窗体(FrmAdd.cs),以实现新增:

其中组别是根据数据库中已有的组别自动加载到组合框中的。当用户在ListView中选择某个联系人后再单击删除联系人菜单项,可将该联系人删除。当用户在ListView中双击某个联系人或单击修改或查看联系人菜单项,会弹出如下窗体(FrmMod.cs),以实现修改或查看联系人:不论是添加还是修改联系人时,组别都是可以修改的,注意姓名和组别不能为空。

SQL数据库课程设计,火车票

SQL上机实验项目设计列车信息查询数据库 学号:24110121 姓名:王若龙

1、实验项目名称:数据模型的建立过程与方法 2、实验项目编号:ab0822420305 3、实验性质:必做 4、实验类型:设计 5、实验目的:熟练掌握数据模型的设计、建立的过程与方法。 6、实验内容: 设计一个数据库,实现列车车次信息和车站信息的基本管理,为列车运行时刻信息的录入、修改、查询与统计等功能提供数据库支撑。 要求: (1)设计该数据库E-R图 (2)将E-R模型转换为关系模型,并规范化 (3)用SQL语句定义并建立数据库表结构 (4)提供以下SQL语句,并加以说明。 查询某车站火车到站出站信息。 查询某列火车沿途经过站点信息 查询从某站点上车,到达某站点,共有哪些列车可供乘坐。 统计某段时间经过某站点的列车共有多少。

(1)设计E-R 图 (2)将E-R 模型转换为关系模型,并规范化 车站信息(车站号,车站名) 列车信息(车次,始发站,终点站,出发时间,到达时间) 乘务人员(车次,姓名,职务) 经由信息(车次,车站名,到站时间,出站时间) (3)用SQL 语句定义并建立数据库表结构 车站信息表(station ),采用命令行创建方式。 字段名 代码 类型 约束 车站号 sno char (5) 主键 车站名 sname char (20) 列车信息表(train ),采用命令行创建方式。 字段名 代码 类型 约束 车次 tno char (5) 主键 始发站 sf char(20) Not null 终点站 zd char(20) Not null 出发时间 cf time 到达时间 dd time

数据库课程设计完整版

HUNAN CITY UNIVERSITY 数据库系统课程设计设计题目:宿舍管理信息系统 姓名: 学号: 专业:信息与计算科学 指导教师: 20年 12月1日 目录 引言 3 一、人员分配 4 二、课程设计目的和要求 4 三、课程设计过程 1.需求分析阶段 1.1应用背景 5 1.2需求分析目标5 1.3系统设计概要 5 1.4软件处理对象 6 1.5系统可行性分析 6 1.6系统设计目标及意义7

1.7系统业务流程及具体功能 7 8 2.系统的数据字典11 3.概念结构设计阶段 13 4.逻辑结构设计阶段 15 5.物理结构设计阶段 18 6.数据库实施 18 7.数据库的运行和维护 18 7.1 解决问题方法 19 7.2 系统维护 19 7.3 数据库性能评价 19 四、课程设计心得. 20 参考文献 20 引言 学生宿舍管理系统对于一个学校来说是必不可少的组成部分。目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强可以接受,但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的。而且当查找某条记录时,由于数据量庞大,还只能靠人工去一条一条的查找,这样不但麻烦还浪费了许多时间,效率也比较低。当今社会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,计算机化管理正是适应时代的产物。信息世界永远不会是一个平静的世界,当一种技术不能满足需求时,就会有新的技术诞生并取代旧技术。21世纪的今天,信息社会占着主流地位,计算机在各行各业中的运用已经得到普及,自动化、信息化的管理越来越广泛应用于各个领域。我们针对如此,设计了一套学生宿舍管理系统。学生宿舍管理系统采用的是计算机化管理,系统做的尽量人性化,使用者会感到操作非常方便,管理人员需要做的就是将数据输入到系统的数据库中去。由于数据库存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失。这无疑是为信息存储量比较大的学校提供了

数据结构课设-通讯录系统的设计与实现——哈希表

课程设计(论文)任务书 软件学院学院软件工程专业班 一、课程设计(论文)题目:通讯录管理系统的设计与实现——哈希表 二、课程设计(论文)工作自2016 年 1 月 4 日起至 2016 年 1 月 10 日止 三、课程设计(论文) 地点: 软件测试中心(北区测试二室) 四、课程设计(论文)内容要求: 1.本课程设计的目的 ⑴训练学生灵活应用所学数据结构知识,独立完成问题分析,结合课程的理论知识,编写程序求解指定问题; ⑵初步掌握软件开发过程的问题分析、系统设计、编码、测试等基本方法和技能; ⑶提高综合运用所学的理论知识和方法独立分析和解决问题的能力,巩固、深化学生的理论知识,提升编程水平。 2.课程设计的任务及要求 1)基本要求: ⑴要求从分析题目的需求入手,按设计抽象数据类型、构思算法、通过设计实现抽象数据类型、编写上机程序和上机调试等若干步骤完成题目,最终写出完整的报告; ⑵在程序设计阶段应尽量利用已有的标准函数,加大代码的重用率; ⑶程序设计语言推荐使用C/C++,程序书写规范,源程序需加必要的注释; ⑷每位同学需提交可独立运行的程序和规范的课程设计报告。 2)课程设计论文编写要求 ⑴理论设计部分以课程设计论文的形式提交,格式必须按照课程设计论文标准格式进行书写和装订; ⑵课程设计报告包括中文目录、设计任务、需求分析、概要设计、详细设计、编码实现、调试分析、课设总结、谢辞、参考文献、附录等; ⑶设计部分应包含系统功能模块图,调试分析应包括运行截图等。 3)课程设计评分标准: ⑴学习态度:10分; ⑵系统设计:20分; ⑶编程调试:20分; ⑷回答问题:20分; ⑸论文撰写:30分。

Sql_server数据库课程设计_图书馆管理系统

序言 (1) 一、图书馆管理系统E-R 图 (2) 二、图书馆管理系统功能实现示意图 (3) 三、图书馆管理系统功能图例 (4) 3.1 读者借阅图书 (4) 3.2 读者归还图书 (4) 3.3 读者续借图书 (5) 3.4 读者查询借阅图书情况 (5) 3.5 读者检索图书信息 (6) 四、图书馆管理系统附加功能 (7) 4.1 往学生表中插入列"系部",其值等于学号中代表系部的位的 值,再插入列"专业号",其值等于学号中代表专业的位的值 . 7 4.2 查询每个学生对书本的借阅数量 (9) 4.3 查询各个专业的学生借阅书本的数量 (11) 五、图书馆管理系统数据库、数据表源代码......... 错误!未定义书签。 5.1 图书馆管理系统"数据库"源代码 ................ 错误!未定义书签。 5.2 图书馆管理系统"数据表"源代码 ................ 错误!未定义书签。 六、图书馆管理系统存储过程源代码..................... 错误!未定义书签。 6.1 读者借阅图书存储过程................................ 错误!未定义书签。 6.2 读者还书存储过程........................................ 错误!未定义书签。 6.3读者续借图书存储过程................................. 错误!未定义书签。 6.4 读者查询借阅图书情况存储过程................ 错误!未定义书签。 6.5 读者检索的图书信息存储过程.................... 错误!未定义书签。 七、图书馆管理系统触发器源代码......................... 错误!未定义书签。 7.1 借书要求(书本没有库存,则无法进行借书操作)错误!未定 义书签。 7.2 借书要求(读者最多借阅量).................... 错误!未定义书签。 7.3 续借次数要求................................................ 错误!未定义书签。 7.4 读者还书信息插入RDeleted表................... 错误!未定义书签。

C#课程设计 通讯录管理系统

郑州科技学院 C#课程设计设计(论文) 课题:通讯录管理系统 姓名:刘闯 学号:201015056 班级:10计科2班 导师:王玉萍 课程设计日期:2013年5月31日

目录 摘要 (3) 一.整体设计 (4) 1.1设计构思 (4) 1.2系统数据流图: (5) 1.3开发及运行环境: (5) 2.1 数据库需求分析 (6) 2.2 E-R图 (7) 2.3 数据表设计 (7) 2.4 管理员信息表(db.Admin): (7) 2.5 用户信息表(https://www.doczj.com/doc/e117556576.html,er): (8) 2.6 资料信息表(db.Records): (8) 三.通讯录管理系统的实现 (9)

3.1 类的编写 (9) 3.2 系统用户功能模块设计: (9) 3.3 系统管理员功能模块设计: (11) 3.4 系统设计运行过程中所遇到的问题: (16) 3.4.1 数据库的连接问题 (16) 3.4.2 登录模块出现角色选择问题 (17) 3.4.3 用户信息添加模块问题 (20) 四. C#课程设计总结 (26) 五.主要参考书及手册 (28) 六.致谢 (29)

摘要 日益繁多的人际交往使得我们很难搞清楚与每个人之间的联系方式,特别是对于做经常出差的人来说更是难,所以通讯录能够便捷的给我们带来所需要的相关信息。而随着计算机的普及,人们的生活摆脱了传统式的记事本、电话簿,越来越多的靠计算机来帮助人们记住这些事情,极其简便。这就需要有一个使用的通讯录管理系统,用户可以方便的通过自己电脑的通讯录管理系统,来随时查阅自己所需要的信息,而不必再大费周折去翻开那繁琐的记事本。 通讯录管理系统是一个专门针对储存用户联系方式以及一些简单个人信息的实用管理系统,它方便了用户对众多客户、朋友、同事等个人信息的储存和快速查阅的功能,大大减少了查找过程的时间。

哈希表实现通讯录-数据结构与算法课程设计报告

合肥学院 计算机科学与技术系 课程设计报告 2009~2010学年第二学期 课程数据结构与算法 课程设计名称哈希表实现通讯录

题目:(哈希表的设计与实现的问题) 设计哈希表实现电话号码查询系统。设计程序完成以下要求:(1)设每个记录有下列数据项:电话号码、用户名、地址;(2)从键盘输入各记录,分别以电话号码和用户名为关键字建立哈希表;(3)采用再哈希法解决冲突;(4)查找并显示给定电话号码的记录;(5)查找并显示给定用户的记录。 一、问题分析和任务定义 此程序需要完成如下要求:设计哈希表实现电话号码查询系统。 实现本程序需要解决以下几个问题: (1)设计结点使该结点包括电话号码、用户名、地址。 (2)利用再哈希法解决冲突。 (3)分别以电话号码和用户名为关键字建立哈希表。 (4)实现查找并显示给定电话号码的记录。 (5)查找并显示给定用户的记录。 本问题的关键和难点在于如何解决散列的问题。由于结点的个数无法的知,并且如果采用线性探测法散列算法,删除结点会引起“信息丢失”的问题。所以采用链地址法散列算法。采用拉链法,当出现同义词冲突时,使用链表结构把同义词链接在一起,即同义词的存储地址不是散列表中其他的空地址。 首先,解决的是定义链表结点,在拉链法中,每个结点对应一个链表结点,它由三个域组成,而由于该程序需要分别用电话号码和用户名为关键字建立哈希表,所以该链表结点它是由四个域组成.name[8] 、num[11]和address[20]都是char浮点型,输入输出都只能是浮点型的。 采用拉链法,其中的所有同义词构成一个单链表,再由一个表头结点指向这个单链表的第一个结点。这些表头结点组成一个一维数组,即哈希表。数组元素的下标对应由散列函数求出的散列地址。 其次,设计散列函数,本程序需要设计两个散列函数才能解决问题,程序需要分别为以电话号码和用户名为关键字建立哈希表。所以要分别以用户名、号码为关键字建立两个散列函数, 对于以号码为关键字的散列函数,是将十一个数字全部相加,然后对20求余。得到的数作为地址。对于以用户名为关键字的散列函数,是将所有字母的ASCLL码值相加,然后对20求余。 再次,需要实现添加结点的功能,则其中必须包括一个输入结点信息、添加结点的函数;需要实现查找函数,则必须包括一个查找结点的函数;需要对文件进行保存,则必需要包括保存文件函数。还需要包括一个主菜单和一个主函数。 最后,当程序设计出来后的测试数据为:

通讯录管理系统需求分析

通讯录管理系统需求分析 项目编号:S1-BS-HTML-001 l项目概述 1.引言 1.1编写目的 在完成了针对通讯录管理系统的前期调查,同时与多位软件使用者进行了全面深入地探讨和分析的基础上,提出了这份软件需求规格说明书。 此需求规格说明书对《通讯录管理系统》软件做了通讯录管理系统的用户需求分析,明确所要开发的软件应具有的功能、性能与界面,使系统分析人员及软件开发人员能清楚地了解用户的需求,并在此基础上进一步提出概要设计说明书和完成后续设计与开发工作。本说明书的预期读者为客户、业务或需求分析人员、测试人员、用户文档编写者、项目管理人员。 本说明书是整个软件开发的依据,它对以后阶段的工作起指导作用。本文也是项目完成后系统验收的依据。

1.2项目背景 本通讯录信息管理系统用计算机管理电子通讯录的一种计算机应用技术的创新,在计算机还未普及之前通讯管理都是由联系人采用名片,笔录手工记帐的方式来操作的.现在一般的通讯录管理都是采用计算机作为工具的实用的计算机通讯录管理程序来帮助人们进行更有效的通讯录信息管理。通讯录管理系统是典型的信息管理系统(mis),要求应用程序功能完备,易使用等特点。 1.3定义 需求:用户解决问题或达到目标所需的条件或功能;系统或系统部件要满足合同、标准,规范或其它正式规定文档所需具有的条件或权能。 2.任务概述 2.1目标 实现通讯录管理系统的基本功能,可以实现电话用户的查询、电话号码的查询、电话号码所在地的查询、电话号码的添加及删除等功能,以方便人们的记录和通讯。 2.2运行环境 2.2.2.1服务端 A. 操作系统:Windows 2003 Server 2.2.2.2客户端 A. Windows 95/98/me/Xp/2000/2003, Unix, Linux,Vista,Mac OS各版 2.3条件与限制 本通讯录信息管理系统用计算机管理电子通讯录的一种计算机应用技术的创新,在计算机还未普及之前通讯管理都是由联系人采用名片,笔录手工记帐的方式来操作的.现在一般的通讯录管理都是采用计算机作为工具的实用的计算机通讯录管理程序来帮助人们进行更有效的通讯录信息管理。通讯录管理系统是典型的信息管理系统(mis),要求应用程序功能完备,易使用等特点。 3.数据描述 开始 3.1数据流图 以可读写的方式打开一个数据文件 将此文件的内容读出,并存入一个新的结构体类型的数组中。 调用menu()菜单函数

sql server数据库课程设计论文

宁夏大学物理电气信息学院综合性实验 实验报告 课程名称数据库应用 实验学期 2011 至 2012 学年第二学期学生所在系物理电气信息学院电气系 年级 09级专业班级电子信息工程(1)班 学生姓名学号 任课教师 实验成绩 任课教师制 2012 年 6 月 10 日

实验题目小型超市商品进销存管理系统 一、实验目的 1、掌握计算机管理信息系统设计的一般方法,主要包括系统分析、系统设计的组织和实施。 2、关系型数据库管理系统SQL语言编辑能力,并能独立完成一般小系统的结构设计、调试运行等工作。 3、提高学生实践使用SQL语言的能力,把所学知识运用到具体对象,并能求出解决方案的能力。 二、实验环境 本次实验主要选用数据库软件设计语言SQL Server 2008版本进行该系统设计。 三、实验内容 1、需求分析 本软件对超市的采购、销售、仓库、资金、帐务等实际运作流程均实现了动态的计算管理,使得超市经营者能够迅速的掌控该超市的实际运作状况、合理做出超市的战略决策。软件提供的商品入库流水账、商品销售流水账、商品台账、会计账及各种报表在提高超市工作效率、减少人为的差错、最大限度堵塞漏洞的基础上很好的减轻了采购、销售、仓库、财务等环节工作人员的劳动强度,全面体现了现代小中型企业管理理论所倡导的工作高效、环境轻松的氛围。并且本系统的开发,为超市的工作效率带来了一个质的飞跃,为此主要表现有以下几个方面: 第一,本系统的运行可以代替人工进行许多繁杂的劳动; 第二,本系统的运行可以节省许多资源; 第三,本系统的运行可以大大的提高企业的工作效率; 第四,本系统可以使敏感文档更加安全,等等。 本产品的开发所需的设备在现有条件下,只需要少量的投入资金就可以实现。因此在经济上是可行的。 2、数据库设计 (1)系统要求实现:基本资料、进货管理、销售管理、库存管理、财务管理、自动编制记帐凭证等管理功能。系统总设计图如下所示:

Java课程设计--个人通讯录管理系统

《JAVA程序设计》课程设计说明书

目录 1 引言 (1) 1.1课程设计选题 (1) 1.2课程设计的目的 (1) 1.3本选题的设计背景 (1) 2 需求分析 (1) 2.1 功能需求 (1) 2.2 系统的开发运行环境 (2) 3 总体设计 (2) 3.1 系统体系结构设计 (2) 3.2系统功能模块及主要类设计 (3) 3.3数据库设计 (5) 4 详细设计与实现 (7) 4.1 登录模块 (7) 4.2 注册新用户模块 (8) 4.3 查询模块 (9) 4.4 添加模块 (11) 4.5 修改模块 (13) 4.6删除模块 (16) 4.7备份模块 (18) 4.8退出模块 (19) 5 小结和展望 (20) 参考文献 (22) 附录 (22) 使用说明书 (22)

1引言 1.1课程设计选题 《个人通讯录管理系统》 1.2课程设计的目的 通过编写并调试一个Java应用软件,熟悉和掌握使用Java开发应用程序的完整过程。 使学生巩固和加深以Java 语言为基础的面向对象编程技术理论知识的理解,提高实际动手编程能力的培养,掌握以Java为核心的应用软件开发方案,达到能独立阅读、编制和调试一定规模的Java程序的水平。 1.3本选题的设计背景 一直以来就想做一个比较实用的通讯录管理系统,这样可以方便我对于身边联系人信息的管理,防止遗忘和丢失。 在这样一个信息化的社会里,人们的生活也越来越离不开电脑了,本次通过做个人通讯录管理系统,希望摈弃传统的纸质记录的弊端,发挥电脑软件的优势,方便人们对自己的联系人信息的管理。 2需求分析 2.1 功能需求 2.1.1个人通讯录功能需求 (1)登陆功能。用户可以直接输入用户名和密码,登陆进入通讯录的主功能界面。 (2)注册功能。其他用户可以输入自己的用户名和密码及确认密码,来实现注册成为该通讯录的使用者。 (3)查询功能。在该功能里,用户可以采用模糊查询和精确查询两种查询方式来对自己存储的联系人信息进行查询。 (4)添加功能。在该功能里,用户可以添加自己的常用联系人和分组信息。

通讯录管理系统的设计与实现

大连民族大学 计算机科学与工程学院实验报告 实验题目: 1. 学生信息管理系统的设计与实现 2. 暴力算法在旅行商问题中的应用 课程名称:信息系统开发案例 实验类型:□演示性□验证性□操作性□设计性 综合性 专业:软件工程班级:144 学生姓名:赵耀学号:2014082430 实验日期:2017年3月6日—4月27日 实验地点:金石滩校区I303机房 实验学时:24学时实验成绩: 指导教师:赵戈

通讯录管理系统的设计与实现 摘要 本项目用C++语言开发了一个简单的通讯录管理系统,该系统能对联系人信 息进行“增删改查”。系统的UI设计基于Windows系统自带的控制台。测试结 果表明该通讯录管理系统可以稳定正确运行,具有较高的可靠性。 关键词:通讯录管理系统;C++语言;Windows 控制台 目录 1.选题的背景和意义 (3) 2.需求分析 (3) 2.1 用例图 (3) 2.2 用例文本 (4) 3.总体设计 (5) 3.1 通讯录管理系统功能模块图 (5) 3.2 主控main函数执行流程图 (6) 3.3 执行流程图的解释说明 (6) 3.4 存储结构设计 (7) 4.详细设计 (8) 5程序运行结果 (9) 6总结和展望 (9) 7附录 (10) 程序源代码: (10)

1.选题的背景和意义 当今时代,计算机已经成为人们生活中不可或缺的一部分,它打破了地域时间限制,改变了人们的工作和生活方式。人们之间的联系越来越便捷,这就使得要经常与很多人保持着联系,而单纯依靠人脑已经很难记住所有人的联系方式还有其各做附加信息。通讯录系统能方便用户的需求,满足用户迅速、准确的查找修改或者删除联系人信息,把各个联系人信息以文件保存。本文介绍了c++编写简易通讯录管理:系统的分析,功能模块的设计,系统的流程图及运行界面。此系统的主要管理的信息由:联系人的姓名、性别、电话号码,加深对c++语言程序设计的理解,提高算法设计的能力,锻炼编程的能力。用c语言编程一个通讯录管理系统软件,要求能实现通讯录管理系统中的增加信息,删除信息,显示通讯里的所有信息,按名字查询信息,保存通讯录,退出系统。。 2.需求分析 2.1 用例图 通讯录管理系统的用例图如下图所示: 图2.1 用例图

SQLserver2008数据库课程设计范例——学生成绩管理系统报告

数据库技术与应用 课程设计说明书 题目:学生成绩管理系统 院系: 专业班级: 学号: 学生姓名: 指导教师: 2014年 12 月 22 日 一概述 1.1目的与要求

随着科技的发展,基本上所有的具有一定数量数据的机构都开始使用计算机数据库来做管理。几乎所有学校也都已经在使用计算机管理数据的机制,大大减少了学校学生成绩管理的工作量。该课程设计要求设计一个学生成绩的数据库管理系统,数据库中要求包含学生的基本信息,学科基本信息,以及学生所学课程的考试成绩。要方便学生进行成绩查询,通过该课程设计,应该达到把数据库理论知识更加的巩固加深,加强动手能力与实践能力,学以致用,与现实生活中的应用充分的结合起来。 1.2设计环境 ① Microsoft SQL Server 2000 ② Microsoft Visual C++ 6.0 二需求分析 2.1 系统功能要求设计 此系统实现如下系统功能: (1)使得学生的成绩管理工作更加清晰、条理化、自动化。 (2)通过用户名和密码登录系统,查询课程基本资料,学生所选课程成绩,修改用户密码等功能。容易地完成学生信息的查询操作。 (3) 设计人机友好界面,功能安排合理,操作使用方便,并且进一步考虑系统在安全性,完 整性,并发控制,备份和恢复等方面的功能要求。 2.2 系统模块设计 成绩管理系统大体可以分成二大模块如,一是学生的基本信息模块,里面应该包含学生的各方面的基本信息;再者便是课程管理模块,在该模块中应该包含有对学生成绩信息的查询和处理,如平均成绩、最好成绩、最差成绩以及不及格学生的统计等功能模块;再其次还有教师、课程等相关信息的模块;可以得到系统流程图: 登陆失败 用户 验证

数据库课程设计(完整版)

HUNAN CITY UNIVERSITY 数据库系统课程设计 设计题目:宿舍管理信息系统 姓名: 学号: 专业:信息与计算科学 指导教师: 20年 12月1日

目录 引言 3 一、人员分配 4 二、课程设计目的和要求 4 三、课程设计过程 1.需求分析阶段 1.1应用背景 5 1.2需求分析目标5 1.3系统设计概要 5 1.4软件处理对象 6 1.5系统可行性分析 6 1.6系统设计目标及意义7 1.7系统业务流程及具体功能 7 1.8.1数据流程图8 2.系统的数据字典11 3.概念结构设计阶段 13 4.逻辑结构设计阶段 15 5.物理结构设计阶段 18 6.数据库实施 18 7.数据库的运行和维护 18 7.1 解决问题方法 19 7.2 系统维护 19 7.3 数据库性能评价 19 四、课程设计心得. 20参考文献 20

引言 学生宿舍管理系统对于一个学校来说是必不可少的组成部分。目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强可以接受,但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的。而且当查找某条记录时,由于数据量庞大,还只能靠人工去一条一条的查找,这样不但麻烦还浪费了许多时间,效率也比较低。当今社会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,计算机化管理正是适应时代的产物。信息世界永远不会是一个平静的世界,当一种技术不能满足需求时,就会有新的技术诞生并取代旧技术。21世纪的今天,信息社会占着主流地位,计算机在各行各业中的运用已经得到普及,自动化、信息化的管理越来越广泛应用于各个领域。我们针对如此,设计了一套学生宿舍管理系统。学生宿舍管理系统采用的是计算机化管理,系统做的尽量人性化,使用者会感到操作非常方便,管理人员需要做的就是将数据输入到系统的数据库中去。由于数据库存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失。这无疑是为信息存储量比较大的学校提供了一个方便、快捷的操作方式。本系统具有运行速度快、安全性高、稳定性好的优点,并且具备修改功能,能够快速的查询学校所需的住宿信息。 面对目前学校发展的实际状况,我们通过实地调研之后,对宿舍管理系统的设计开发做了一个详细的概述。

大数据结构-通讯录管理系统地设计与实现

课程设计报告 课程设计名称:数据结构课程设计系:三系 学生姓名: 班级: 学号: 成绩: 指导教师: 开课时间:2011-2012学年一学期

宿迁学院 课程设计任务书 课程名称:数据结构 指导教师: 专业班级: 学生: 起止日期: 2012.12-2013.1

设计题目一:通讯录管理系统的设计与实现 1 概述 1.1现状分析 课程设计是实践教学中的重要环节,它以某一门课程为基础,涉及和课程相关的各方面知识,是一门独立于课程外的特殊课程。课程设计就是让所有同学对课程更全面的应用。本次实验项目“通讯录管理”就是针对数据结构的一门应用较为广泛的系统管理方法。 1.2 实现意义 本次实验应用性能很好,结构清楚,能随时添加、删除、查找、修改、输出联系人;并且可以用、编号两种方式;而且其中增加了排序功能,使得插入之后排序为接下来的操作提供便利,操作更精确,以人性化的方式展现出来,效果十分突出。 2 系统分析 编程完成通讯录的一般性管理工作如通讯录中记录的增加、修改、查找、删除、输出等功能。每个记录包含编号、、性别、、住址个人基本信息。用《数据结构》中的链表做数据结构结合c语言基本知识编写一个通讯录管理系统。本程序相对简单,使用方便,几乎不用特殊的命令,只需按提示输入即可。对于建立通讯录管理系统,则需了解并掌握数据结构与算法的设计方法,尤其在算法方面,链表及结点的联系,提高综合运用所学的理论知识和方法独立分析和解决问题的能力。 3 概要设计 3.1算法的设计 本实验从整体上分为七大模块:(1)通讯录链表的建立;(2)通讯者结点的插入;(3)通讯者结点的查询;(4)通讯者结点的删除;(5)通讯者结点的修改;(6)通讯录链表的输出;(7)退出通讯录管理通讯者结点的删除系统。

学校通讯录管理系统数据库设计

数据库设计 在本实例中使用的是SQLServer 2000数据库管理系统。数据库服务器安装的位置为本机,数据库名称为commu ni catio nserver 。下面将介绍数据库分析和设计、数据表的创建、数据表关系图和创建存储过程的内容。 4.2.1 数据库分析和设计 在本节中,将根据上一节系统功能的设计分析创建各数据表的实体E-R关系图,它是数 据库设计非常重要的一步,下面用E-R图的形式表示出各实体的属性。 1. 用户E-R实体图 用户的实体具有用户ID、密码、姓名、性别、电话、E-mail、用户权限7个属性,ER图如图4-5所示。 图4-5 用户E-R实体图 2. 地区E-R实体图 地区的实体具有地区编号、地区名称2个属性,E-R图如图4-6所示。 图4-6 地区E-R实体图 3. 职务E-R实体图 职务的实体具有职务编号、职务名称2个属性,E-R图如图4-7所示。 图4-7 职务E-R实体图 姓名用户权限性别 1 用户E-mail 地区 职务职务名称

4. 学校E-R 实体图 学校的实体具有学校名称、学校所在地区、在校学生人数3个属性,可用 E-R 图表示, 如图4-8所示。 (学校名称X 学校一(在校学生人数 图4-8 学校E-R 实体图 5. 通讯录E-R 实体图 通讯录的实体具有联系人姓名、地址、联系电话、所属职务、所在学校、所在单位、所 属地区7个属性,E-R 图如图4-9所示。 图4-9 通讯录E-R 实体图 4.2.2 数据表的创建 在上面一节中讲解了实体的 E-R 图,本节中将根据E-R 图的内容,创建企业信息管理系 统中的各数据表,在此系统中共涉及到 5个数据表的应用,分别为如下。 1、 字段采用camel 风格定义 2、 用不同颜色区分字段 主键:蓝色 外键:白色 既是主键又是外键:淡蓝色 普通字段:青绿 学校编号 学校所在地区 联系电话 通讯录 所在单位 * 所在学校 彳所属职务

大工秋《SQL数据库课程设计》答案

网络教育学院《SQL数据库课程设计》 题目:学生信息管理系统的设计与实现学习中心:奥鹏学习中心 专业: 年级:年 /秋季 学号: 学生: 指导教师:龙珠

1 项目概况 1.1 SQL 数据库简介 Microsoft SQL Server 2000 是Microsoft 公司继SQL Server 6.5和SQL Server 7.0以后,在新千年推出的又一改进的新版关系型数据管理系统。它能使用户快捷地管理数据库和开发应用程序。SQL Server 2000 使用了了先进的数据库结构,与Windows DNA紧密集成,具有强大的Web 功能,它可以利用高端硬件平台以及最新网络和存储技术,可以为最大的Web站点和企业应用提供优良的扩展性和可靠性,使用户能够在Internet 领域快速建立服务系统,为占领市场赢得宝贵的时间。同时,SQL Server 2000 还为用户提供了重要的安全性功能的增强,为用户的数据安全提供了可靠的保证。另外,SQL Server 2000还为用户提供了重要的安全性功能的增强,为用户的数据安全提供了可靠的保证。另外,SQL Server 2000 在数据库服务器自动管理技术方面处于数据库领域的领先地位,它可以使用户免去繁琐复杂的工作量,从而有精力处理更重要的问题,使用系统在商业战略上占得先机。 SQL Server 2000 的特性Microsoft® SQL Server? 2000 的特性包括: 1、Internet 集成。SQL Server 2000 数据库引擎提供完整的XML 支持。它还具有构成最大的Web 站点的数据存储组件所需的可用性、可伸缩性和安全功能。 2、可伸缩性和可用性。同一个数据库引擎可以在不同的平台上使用,从运行 Microsoft Windows® 98 的便携式电脑到运行 Microsoft Windows 2000 数据中心版的大型多处理器服务器。 3、业级数据库功能。SQL Server 2000 关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上

数据库课程设计报告户籍管理系统完整版

. 中北大学 数据库课程设计 说明书 班 级: 学号: 姓 名: 学 专 方 向: 指导教师: 企业信息化软件开发与应用

成绩: 2014 年 6 月 1.需求分析 随着城市人口规模的扩大和公安部门对城市及农村人口管理工作规性的逐渐增强,户籍管理工作的业务量急剧增大。传统的手工方法,存在效率低、易出错等缺点,已经难以满足当前户籍管理工作的要求。 因此,结合当前日益成熟的计算机相关技术,开发一个专门针对户籍管理的系统已经非常必要了。户籍管理信息系统是公安部门不可缺少的一部分,更是适应现代户籍制度并推动户籍管理走向科学化、规化、自动化的必要条件。该管理系统能够为用户提供充足的信息和快捷的查询手段,以帮助用户了解户籍工作的情况。它大大改善了公安部门管理、查询户籍的基础工作环境,在一定程度上反映出户籍管理的现代化管理模式。因此人口户籍管理信息系统的开发迫在眉睫。 该课程设计就户籍的迁入、迁出、注销,身份证的办理、领取做了简单地设计。 1.1项目开发背景 近年来,随着计算机技术的发展和互联网时代的到来,我们已经进入了信息时代,随着人口的不断增长,户籍管理部门也应得到良好的发展,利用现代化管理工具使其变成半自动化必定会提高其工作效率。 1.2项目开发目的 户籍管理系统是针对户籍管理部门而开发的,为其改变人口信息仍需要手动处理和查询,个人的信息在处理中丢失或者不明确等现象而设计的。通过这个户籍管理系统,可以让

户籍管理部门提高工作质量和效率,从而达到更快捷、更准确、更方便的目的。 1.3需求分析阶段的目标与任务 1.3.1划分功能模块 在构造系统时,首先从需求出发构造数据库表,然后再由数据库表结合需求化分系统功能模块,这样就把一个大的系统分解为几个小的系统。经过调查分析,户籍信息管理系统应具有以下功能: (1)对户籍的变动进行处理。任何管理部门的户籍信息不会是一成不变的,总是在不断的变化:有迁出、有迁入、户口合并,也有因故注销。因此,设计系统时应考虑到这些情况,实现户籍的日常管理工作。 (2)对所管辖户籍所分离出的个人信息的计算、统计。找到符合条件的个人,进行核对无误后,生成档案文件进行转存,保证数据的安全完整,以此来实现身份证的办理与领取。 (3)查询统计功能。要求即可以单项查询,比如查看某个人工的户口情况等;也可以多项查询,比如同一户口特征的户口浏览,并按照所需的要求进行数据的转存。 1.3.2处理对象 户籍信息:户籍号,户主姓名 户籍成员信息:姓名,户主关系,性别,民族,籍贯,住址,身份证号,文化程度,职业,户籍号,迁入时间,迁出时间,迁入地,迁出地 身份证:姓名,身份证号,性别,民族,地址

数据结构课程设计--哈希表实验报告

福建工程学院 课程设计 课程:算法与数据结构 题目:哈希表 专业:网络工程 班级:xxxxxx班 座号:xxxxxxxxxxxx 姓名:xxxxxxx 2011年12 月31 日 实验题目:哈希表 一、要解决的问题 针对同班同学信息设计一个通讯录,学生信息有姓名,学号,电话号码等。以学生姓名为关键字设计哈希表,并完成相应的建表和查表程序。 基本要求:姓名以汉语拼音形式,待填入哈希表的人名约30个,自行设计哈希函数,用线性探测再散列法或链地址法处理冲突;在查找的过程中给出比较的次数。完成按姓名查询的操作。 运行的环境:Microsoft Visual C++ 6.0 二、算法基本思想描述 设计一个哈希表(哈希表内的元素为自定义的结构体)用来存放待填入的30个人名,人名为中国姓名的汉语拼音形式,用除留余数法构造哈希函数,用线性探查法解决哈希冲突。建立哈希表并且将其显示出来。通过要查找的关键字用哈希函数计算出相应的地址来查找人名。通过循环语句调用数组中保存的数据来显示哈希表。 三、设计 1、数据结构的设计和说明 (1)结构体的定义 typedef struct //记录 { NA name; NA xuehao; NA tel; }Record;

{ Record *elem[HASHSIZE]; //数据元素存储基址 int count; //当前数据元素个数 int size; //当前容量 }HashTable; 哈希表元素的定义,包含数据元素存储基址、数据元素个数、当前容量。 2、关键算法的设计 (1)姓名的折叠处理 long fold(NA s) //人名的折叠处理 { char *p; long sum=0; NA ss; strcpy(ss,s); //复制字符串,不改变原字符串的大小写 strupr(ss); //将字符串ss转换为大写形式 p=ss; while(*p!='\0') sum+=*p++; printf("\nsum====================%d",sum); return sum; } (2)建立哈希表 1、用除留余数法构建哈希函数 2、用线性探测再散列法处理冲突 int Hash1(NA str) //哈希函数 { long n; int m; n=fold(str); //先将用户名进行折叠处理 m=n%HASHSIZE; //折叠处理后的数,用除留余数法构造哈希函数 return m; //并返回模值 }Status collision(int p,int c) //冲突处理函数,采用二次探测再散列法解决冲突{ int i,q; i=c/2+1; while(i=0) return q; else i=c/2+1; } else{ q=(p-i*i)%HASHSIZE; c++;

相关主题
文本预览
相关文档 最新文档