高校水电费管理系统数据结构课程设计_第1页
高校水电费管理系统数据结构课程设计_第2页
高校水电费管理系统数据结构课程设计_第3页
高校水电费管理系统数据结构课程设计_第4页
高校水电费管理系统数据结构课程设计_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机与软件工程学院课程设计说明书课 程 名 称: 数据结构与算法设计综合设计课 程 代 码: 106086359 题 目: 高校水电费管理系统 年级 / 专业: 2014/计算机科学与技术 学 生 姓 名: 学 号: 开 始 时 间: 2016 年 11 月 29 日完 成 时 间: 2017 年 11 月 3 日设计成绩:学习能力(20)解决方案(20)UI 设计(20)技术水平(20)协作与表达(20)总 分(100)指导教师(签名) 20 年 月 日西华大学计算机与软件工程学院课程设计说明书I目 录 摘要1 前言 .11.1 问题的提出 .11.2 任务与分析 .11.3 存储结构选用分析 .21.3.1 数据结构选用分析 .21.3.2 双链表结点前插操作 .31.3.3 数据库选用 .42.系统总体设计 .52.1 开发工具 .52.2 系统框图 .52.3 模块功能 .62.3.1 选择文件 .62.3.2 添加记录 .62.3.3 删除记录 .62.3.4 修改记录 .72.3.5 查询记录 .72.3.6 统计信息 .73 交互界面设计 .83.1 控件介绍 .83.2 窗体 .83.3 文本编辑框 .83.4 下拉列表框 .9高校水电费管理系统II3.5 菜单栏 .93.6 按钮 .94 功能详细设计 .104.1 双向链表 .104.1.1 双向链表插入结点 .104.1.2 双向链表删除 .104.2 二叉查找树 .114.2.1 二叉查找树的插入 .114.2.2 二叉查找树的查找 .124.3 学生/教师数据信息 .124.4 学生/教师数据结点 .134.5 二叉查找树结点 .144.6 学生/教师信息的文本读取 .144.7 信息的添加 .154.8 学生/教师信息的显示 .154.9 学生/教师信息的修改 .164.10 学生/教师信息的删除 .174.11 学生/教师信息的检索 .174.12 学生/教师信息的统计 .194.13 软件使用说明 .204.13.1 登录(扩展功能) .204.13.2 选择文件 .204.13.3 添加记录 .214.13.4 删除记录 .214.13.5 修改记录 .224.13.6 查询记录 .224.13.7 统计信息 .234.13.8 二叉查找树生成 .23西华大学计算机与软件工程学院课程设计说明书III4.13.9 使用说明 .245 系统功能测试 .25结 论 .26致 谢 .27参考文献 .28高校水电费管理系统IV摘 要随着计算机的普及,计算机在各方面的应用都有着补课或缺的作用。现如今高等院校的招生人数越来越多,必然会有大量的学生的水电费信息、教师的水电费信息需要处理。如果只靠人力来完成,这将会变成一项非常繁琐、复杂的工作,然而还有可能出现很多意想不到的错误,给管理这些数据带来了极大的不便,越来越不适合高校的发展需要。因此,为了提高高校水电费管理工作的效率,减少错误的出现,节约大量的人力资源,高校水电费管理也已经从人工操作转到计算机自动化处理阶段,所有高校都迫切需要计算机技术来进行水电费信息的辅助管理。在使用了高校水电费管理系统后,可以提高各类信息的精确性和及时性,将信息准确无误地计算机并在数据库中保存起来。按照规范设定标准代码,大大保证了原始数据的精确性,在进行课程的分析设计时可以最大限度地减少人为影响,大大提高工作效率。本设计是采用双向链表作为数据结构对数据进行存储,双向链表是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点 1。双向链表由多个数据结点连接构成。双向链表的优点在于可以直接找到结点的直接前驱和直接后驱,不像单链表一样想找到前驱就只能从头开始遍历。关键词:高校水电费管理;计算机;双向链表;数据结构西华大学计算机与软件工程学院课程设计说明书11 前言 1.1 问题的提出随着科学技术的发展,不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻的认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。而面对现今社会的发展,水电费管理系统是每一个高校管理机构对学校资源进行有效管理的不可或缺的一个管理信息系统,它的内容对于学校资源管理机构的管理者来说试试至关重要的,该系统应该能够为资源管理机构的管理者提供有效的帮助,使之能够对有效信息进行快捷的整理和查询满大大的方便了管理机构的管理者的合理有效管理。然而,用大型软件系统来用于普通高校管理,不啻于“杀鸡用牛刀” ,因此小型的的软件对于普通高校自然有着十分重要的作用。某普通高校出与这种目的制作了这个高校水电费管理系统。1.2 任务 与分析本课题主要的任务是设计出采用双向链表作为数据结构存储数据的高校水电管理系统。高校水电费管理的包括高校学生与教工用水用电的管理,主要业务为添加、查询、显示、编辑、删除、统计、水电费计算等。设计一个高校水电费管理系统,实现上述业务活动的计算机管理。要求如下:在设计过程中能欣赏、体验各种设计之美、算法之美,并能创造美。基于 GUI(图形用户界面)的应用程序。禁用任何数据库系统,自编程序以充分理解数据结构与算法过程。动画表现:动态表现二叉查找树(BST)的创建过程。“学生基本信息 ”的登记内容(记录)至少包括学号、姓名、性别、年龄、班级、用电量、用水量等信息。 “教工基本信息” 的登记内容(记录)至少包括职工号、姓名、性别、年龄、工作部门、用电量、用水量等。添加业务:程序能够添加不同学生和教工的记录,提供选择界面供用户选择所要添加的类别,要求编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。要求库中至少录入 30 个教师、50 个学生的相关信息;库可用自编文本文件或 Excel 表格。查询业务:采用二叉查找树(BST)作为数据结构,根据姓名、用水量、用电量信息对已添加的学生或教工记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。信息显示业务:可显示当前系统中所有学生和教工的记录,每条记录占据一行,并可选择按照水电费进行升序和降序显示。编辑业务:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。高校水电费管理系统2删除业务:主要实现对已添加的学生或教工记录进行删除。如果当前系统中没有相应的记录,则提示“记录为空!”并返回操作。统计业务:能根据多种参数进行统计。能统计学生和教工的用水用电量、所要交纳的电费和水费、未交纳水电费的人员信息等。计算电费和水费:学生每月都有一定额度的水电是免费使用的,超过的部分需要交费。菜单设置“使用说明” ,介绍本软件的开发者、特色、各项功能及使用。本次设计选择了使用双向链表+扩展功能实现高校水电费管理系统。1.3 存储结构选用分析1.3.1 数据结构选用分析我们现在常见的几种存储结构就是数组存储和链表存储,链表又分为单链表、双向链表、单向循环链表和双向循环链表,由于本设计采用的双向链表,所以下面只对数组顺序存储和双向链表进行讨论分析。数组是将元素在内存中连续存放,由于每个元素占用内存相同,可以通过下标迅速访问数组中任何元素。但是如果要在数组中增加一个元素,需要移动大量元素,在内存中空出一个元素的空间,然后将要增加的元素放在其中。同样的道理,如果想删除一个元素,同样需要移动大量元素去填掉被移动的元素。如果应用需要快速访问数据,很少插入和删除元素,就应该用数组。双向链表中的元素在内存中不是顺序存储的,而是通过存在元素中的指针联系到一起,每个结点包括三个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针,还有一个是存储上一个结点的地址的指针 2。如果要访问链表中一个元素,需要从第一个元素开始,一直找到需要的元素位置。但是增加和删除一个元素对于链表数据结构就非常简单了,只要修改元素中的指针就可以了。如果应用需要经常插入和删除元素你就需要用链表。从逻辑结构角度来看,数组必须事先定义固定的长度(元素个数) ,不能适应数据动态地增减的情况。当数据增加时,可能超出原先定义的元素个数;当数据减少时,造成内存浪费。链表动态地进行存储分配,可以适应数据动态地增减的情况,且可以方便地插入、删除数据项。由于本设计需要经常对数据进行插入、修改和删除,所以本设计选用双链表进行作为数据存储结构。单链表相比于双链表,单链表结点中只有一个指向其后继的指针,这使得单链表只能从头结点依次顺序地向后遍历。若要访问某个结点的前驱结点(插入、删除操作时) ,只能从头开始遍历,访问后继结点的时间复杂度为 O(1),访问前驱结点的时间复杂度为 O(n)。为了克服单链表的上述缺点,引入了双链表,双链表结点西华大学计算机与软件工程学院课程设计说明书3中有两个指针 prior 和 next,分别指向其前驱结点和后继结点。 3(如图 1-1)图 1-1 双链表图双链表中结点类型的描述如下:class Nodepublic:Node* prev; Node* next;Person* element; Node(void);Node(Person* element);Node(void);1.3.2 双链表结点前插操作双链表前插操作(如图 1-2):图 1-2 双链表结点添加图代码实现:void LinkList:AddRecordAtFront(Node* record)record-prev = m_NHead;record-next = m_NHead-next;m_NHead-next-prev = record;m_NHead-next = record;高校水电费管理系统4双链表结点删除:(如图 1-3)图 1-3 双链表结点删除图代码实现:bool LinkList:RemoveRecordByID(unsigned int ID)Node* node = m

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论