数据库管理系统大数运算校园导航哈弗曼编码

上传人:工**** 文档编号:494449595 上传时间:2022-12-17 格式:DOC 页数:51 大小:790.50KB
返回 下载 相关 举报
数据库管理系统大数运算校园导航哈弗曼编码_第1页
第1页 / 共51页
数据库管理系统大数运算校园导航哈弗曼编码_第2页
第2页 / 共51页
数据库管理系统大数运算校园导航哈弗曼编码_第3页
第3页 / 共51页
数据库管理系统大数运算校园导航哈弗曼编码_第4页
第4页 / 共51页
数据库管理系统大数运算校园导航哈弗曼编码_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《数据库管理系统大数运算校园导航哈弗曼编码》由会员分享,可在线阅读,更多相关《数据库管理系统大数运算校园导航哈弗曼编码(51页珍藏版)》请在金锄头文库上搜索。

1、课程设计报告数据结构学院名称_专业年级学生姓名学号任课教师二。一五 年三 月吉林财经大学管理科学与信息工程学院数据结构课程设计期末成绩评分表学生姓名专业班级学号课程设计题目1 数据库管理系统2 大整数计算器3.电文的编码和译码4校园导航评价指标评价要点分值评分平时实验(1)保证出勤;(2)认真调试程序;(3)不做与课程设计 无关的工作;(4)虚心与同学讨论问题20实验报告(1)文字表达流畅;(2)论文格式符合规范要求;(3 )论 文中有检测数据;(4 )篇幅符合要求;(5)书写格式规范20程序质量(1)程序符合模块化设计思想;(2)代码中注释清晰;(3) 程序整体装配合理;(4)利用外部文件存

2、储数据40现场答辩(1)自述程序功能(2)程序功能演示(3)回答教师问题(4)临时突发问题解决能力20总 分100学术道德本项指标实行一票否决制:凡经认定为抄袭、雷冋,论文即按不及格处理评价等级:教师签名:第一题课题内容和要求课题内容当今计算机技术飞速发展,信息管理领域日益扩大,数据库已被广泛应用于各个领域, 它用科学的方法管理和处理数据,给人们的生活带来了巨大变化。用户建立自己的数据库, 更能提高管理工作的效率,综合运用数据结构和 C 语言知识,建立一个数据库管理系统,能 够让用户自己定义、创建和控制数据库。课题要求设计一个数据库管理系统,用户可以使用特定的命令自行定义和创建数据库,能够对数

3、 据库实现插入(追加)、浏览、浏览定位、按条件修改、按条件排序、删除和全部删除等功 能,并能保存数据库信息到指定文件以及打开并使用已存在的数据库文件,但库结构定义后 不允许修改 。课题设计思想数据库管理系统对数据实行追加、浏览、按条件删除等命令都是按次序来进行的,由此 可以判断我们可以用单链表的数据结构来设计本套数据库管理系统。使用的单链表的数据结构为:typedef struct LNode/定义单链表的节点类型ElemType data;/ 存放单链表的元素值struct LNode *next;/ 指向后继节点LinkList;执行各种命令时都可以将特定的指针定位到相应的位置,可以对相应

4、位置的字段进行相 应的操作,例如追加字段就是将指针定位到最后一个字段,删除字段就是将指针定位到特定 字段内容处等等。问题分析主要思想首先定义一个单链表的结构用来存储数据库结构的每一条字段,然后再定义一个结构体数组以便在调用操作函数时用这个结构体数组来进行其他灵活操作。接下来编写主函数,在 主函数的函数体中,首先调用 Help ()函数,以便展示数据库管理系统的各种操作命令,然 后出现让用户输入命令的提示符。用户输入命令后可以进入各个编写的函数模块,对自己的quit 命令时退出数据库管理系统。/* 定义数据库的类型 */存储输入的数据 */ 存储输入的数据类型 */数据库系统进行操作。当输入 数

5、据结构的伪代码为: typedef struct _nodechar data110;/*char type110;/* struct _node *next;Linklist;数据库的建立和存储数据库管理系统由数据库的结构和数据库的内容组成。由于呈现在我们眼前的数据库的 数据是类似一个表的形式,所以我们可以定义一个字符型二维数组 wjij 来存储。这样, 二维数组的第 0 行存储数据库管理系统的结构,即数据库的表头。其中,二维数组 wj00 自动存储字段名为“编号”的字符。时间复杂度为: O( n)数据库数据的添加当输入“ append ”命令时,主函数调用 append添加函数,此时,需要

6、在二维数组的最后 一行进行存储和各种操作,程序执行时显示每一行对应的表头,后面就可以输入可添加的数 据。每输入一行,编号值自动加1。时间复杂度为: O(com)数据库数据的查找先用 go 命令定位到指定编号的字段, 再用 disp 命令来展示隶属该编号下所有字段的值。时间复杂度为: O(com)数据库信息筛选信息筛选主要靠 locate 命令,执行该命令时,将命令划分成 3 部分,分别是 locate、 for 和 for 后面对应的字段。设计要求中有很多命令的执行都是同一种结构,即“命令 +for+ 字段 名=“字段内容” ”。所以首先要对命令进行筛选,看执行的是哪种命令,然后看输入的命令

7、符不符合命令的格式,所以就划分了后面两个部分。再进行对应的筛选,先找到对应的字段 名,再在对应的字段名下的字段进行筛选,如果遇到符合条件的字段则打印出来。时间复杂度为: O( row*com )数据库信息删除执行命令的过程和信息筛选的差不多,只是最后遇到符合条件的字段不是将它打印出来,而 是直接删除掉。时间复杂度为: O ( row-1-dingwei ) *com );数据库信息的修改执行命令的过程和删除的差不多,但是最后遇到符合条件的字段时略有不同,当遇到符 合条件的字段时,先进入该字段的存储,分别修改对应的字段名下字段的值,修改完毕后, 打印修改成功。时间复杂度为: O ( row-1-

8、dingwei ) *com );数据库信息的排序该命令运行时,也要将命令行字符划分为3部分,分别是sort on、字段名和/a(或/d)。先判断输入的命令, 然后寻找对应的字段名, 如果没有对应的字段名, 则打印没有对应字段名。 接下来再进行判断是要进行升序操作还是降序操作,最后再进行排序。时间复杂度为: O( row*row )数据库文件的打开和关闭运用文件的相关函数将创建数据库文件。时间复杂度为: O( 1)概要设计伪代码描述如下:1) 构建一个二维数组 wj00 来存储数据库的数量:2) 屏幕上显示数据库的操作;3) 手动生成数据库的结构;4) 建立数据库的节点结构,用于存储数据库的节

9、点;5) 建立完成后实现对数据库的各种操作; 本程序包含以下几个函数:1.void Switch(char bian,int num) /*把数字转换为字符数组 */2.void Help()/* 输出执行操作的各项命令,帮助用户正确使用各项命令*/3.void CreateStruct(Linklist *database,int *length) /*建立数据库的结构 com, int *row )/bian, char4. void Open(char app,int *com,int *row,char*/fabian)/* 打开数据库文件并且将文件中的数据存入结构体二维数组中5. v

10、oid append(char bian,int fanlen,char fabian,int bianlen,int/* 追加记录 */6.void Display(char mem,int *com,int *row)/* 浏览写进数组中的数据*/7.void DispGo(int go,int *com,int *row)/*浏览指定位置的数据 */8.void Delete(char mem,int *com,int *row)/* 删除函数 */9.void Locate(char mem,int *com,int *row)/*筛选特定字段的函数 */10.void Change(

11、char mem,int *com,int *row)/*修改字段的函数 */11.void Px(char ziduan,char ch,int *com,int *row)/*排序函数 */12.void Sort(int *com,int *row)/*判断是升序还是降序的函数 */13.void Close(char secondinput,int *com,int *row,char mem,charbian)/*关闭函数 */流程图输入字段.N 输入字段的N 类型 打印“您输入的字段有误,请重新输入”Ydouble ?Char?图1数据库的创建和存储流程图Max=第一个字符串的长度

12、|行数行数结束i列数I+字符串长maxMax=字符串长.Max=原字符串长i列数打印空格图2浏览数据库内容流程图图3数据库内容添加流程图开始输入定位编号输出表头输出编号所在一行的库内容结束图4浏览定位内容流程图开始输入命令及 所要删除的 字段内容在库结构中寻找删除的字段名在字段名中寻找要删除的字段名称结束图5删除字段函数流程图开始I输入命令及所要定位的字段内容图6筛选定位函数执行流程图开始输入命令及所要修改的字段内容修改字段,并/输出i1结束图7修改字段函数执行流程图伪代码描述Begin:If ( input = creat ) creat 数据库 ;if (input =append) in

13、put 1 7:1$、 2$7$;丄“ 丄”type is“ string ” ;if ( input = brows) 显示全部信息 if(input= append) 添加或追加信息 if( input = go number (eg:go 1) )then“ diS显示当前行信if ( input = locate for 字段名 = 字段内容 ) 定位if (input = delete for 字段名 = 字段内容 ) 删除行if (input =zap )全部删除If (input = change for 字段名 =字段内容 ) 更改信息If (input = sort on 字段名 /a | 降序: sort on 字段名 /d ) 排序If ( input =help )帮助END测试和分析1. 帮助界面:肿定位浏览字段,用砒眇浏览定位的d s Kt o Ra r u7bnc - o-nsj令 9式li命-格n9宴法fli字格语-履食?所语Bip 数字隸is 建册-d 创谓洌 E li 12 3 4:“容容

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号