数据结构课程设计(含代码).doc

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程设计(含代码)

数据结构课程设计说明书 题目: 学生成绩管理系统 学生姓名 班级 成绩 指导教师(字) 年 月日C语言等计算机语言的发展,运用计算机语言,我们可以实现各种各样的功能。就我们现在所学的知识而言,我们也可以运用C语言实现一些简单的管理系统,如:学生成绩管理系统、图书管理系统、通讯录等。 此次课程设计,是运用数据结构说学的知识制作一个成绩管理系统,主要包括信息的维护,信息的查找以及成绩统计,实现创建成绩表、显示成绩表、修改成绩表、添加、查找、删除、排序、增加等功能。主要实现方式用的是链表[1],下面对链表进行一下简单的介绍: 链表是一种动态的进行存储分配的数据结构,它既不需要事先确定最大长度,在插入或者删除一个元素时也不会引起数据的大量移动。链表有一个“头”,一个“尾”。中间有若干元素,每个元素称为一个结点。每个结点包括两部分:一部分是用户关心的实际数据,称为数据域;另一部分是下一个结点的地址,称为指针域。一般用head作为头指针,它指向链表的第一个结点;最后一个结点称为“表尾”,该结点的指针域值为0,指向内存中编号为0的地址(常用符号常量NULL表示,称为空地址),表尾不再有后继结点,链表到此结束。[1] 相比较顺序结构,链表比较方便插入和删除操作。 线性表的链式存储表示的特点是用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的)。因此,为了表示每个数据元素 与其直接后继数据元素 之间的逻辑关系,对数据元素 来说,除了存储其本身的信息之外,还需存储一个指示其直接后继的信息(即直接后继的存储位置)。由这两部分信息组成一个结点,表示线性表中一个数据元素。 其中保存结点中的数据信息的域称作数据域(设域名为data),保存地址信息的域称为指针域(设域名为next)。指针域中存储的信息又称作指针或链。[1] 在实现成绩管理的功能上使用的是线性表的方式,使得程序易懂,条理比较清晰,模块化显著。 二、问题描述及基本要求 1、问题描述 现有学生成绩信息,内容如下 姓名 学号 语文 数学 英语 张明明 01 67 78 82 李成友 02 78 91 88 张辉灿 03 68 82 56 王露 04 56 45 77 陈东明 05 67 38 47 … .. .. .. … 请编写一个系统,实现学生信息管理。 2、基本要求 功能要求: (1) 信息维护: 要求:学生信息数据要以文件的形式保存,能实现学生信息数据的维护。此模块包括子模块有:增加学生信息、删除学生信息、修改学生信息 (2) 信息查询: 要求:查询时可实现按姓名查询、按学号查询 (3) 成绩统计: 要求:输入任意的一个课程名(如数学)和一个分数段(如60--70),统计出在此分数段的学生情况。 排序:能对用户指定的任意课程名,按成绩升序或降序排列学生数据并显示排序结果(使用表格的形式显示排序后的输出结果)。 三、系统设计流程图 1、设计的总体框图 2、主函数流程图 实现对一级菜单:学生成绩录入、学生成绩排序、删除学生成绩、增加学生成绩、学生成绩查询、学生成绩统计、学生成绩修改、学生成绩显示、退出功能的控制,分别调用各个子函数;完成整个学生成绩管理系统。程序流程图如下图所示: 3、建立学生成绩信息的流程图 通过定义两个指针数组,利用链表对函数进行调用,实现对学生成绩函数的建立,然后通过调用显示成绩一览表的函数输出成绩表,该建立学生成绩程序执行结束。其流程图如下图所示: 4、删除学生信息的流程图 首先判断成绩表是否为空,为空则输出“成绩表为空,无法删除”;不为空则输入要删除的姓名,查找到该姓名的位置,程序直接将其删除,在运行期间,程序会判断该内容是否在成绩表中,若存在则将其直接删除,然后输出删除后的成绩表;若不存在则输出“xx不存在本成绩表中!”然后输出学生成绩表;该删除信息程序执行结束。其流程图如下图所示: 5、修改学生信息的流程图 首先判断成绩表是否为空,为空则输出“成绩表为空,无法修改”;不为空则输入要修改的姓名,查找到该姓名的位置,然后通过键盘输入的选项,程序自动进行查找并提示用户输入

文档评论(0)

zhanghc + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档