数据结构课程设计——成绩管理系统.doc
《数据结构课程设计——成绩管理系统.doc》由会员分享,可在线阅读,更多相关《数据结构课程设计——成绩管理系统.doc(18页珍藏版)》请在三一办公上搜索。
1、Guangxi University of Science and Technology课程设计报告课程名称: 数据结构 课题名称: 成绩管理系统的设计 姓 名: 王永源 学 号: 院 系: 计算机学院 专业班级: 通信121 指导教师: 完成日期: 2013年12月15日 目 录 第1部分 课程设计报告3第1章 课程设计目的3第2章 课程设计内容和要求42.1 问题描述42.2 设计要求4第3章 课程设计总体方案及分析43.1 问题分析43.2 概要设计53.3 模块结构图63.4 流程图63.5 详细设计63.6 调试分析83.7 测试结果83.8 参考文献10第2部分 课程设计总结10附
2、录(源代码)12第1部分 课程设计报告第1章 课程设计目的数据结构作为一门计算机专业必修的学科之一,主要研究数据的各种逻辑结构和存储结构,以及对数据的各种基本操作。一般来说,大体上可以分为三个方面的内容:数据的逻辑结构;数据的物理存储结构;对数据的操作(或算法)。通常,算法的设计取决于数据的逻辑结构,算法的实现取决于数据的物理存储结构。数据结构是信息的一种组织方式,其目的是为了提高算法的效率,它通常与一组算法的集合相对应,通过这组算法集合可以对数据结构中的数据进行某种操作。作为计算机专业的学生,我们应该很好的掌握这门技术。在课堂上,我们学到的只是理论知识,很少有过自己动手实践的机会。那么,课程
3、设计就是为解决这个问题的一个很好平台。 数据结构这门课具有比较强的理论性,同时也具有较强的实践性。其中课程设计就是是一个重要的教学环节。通过课程设计,我们需要达到以下目的: 了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力,并进一步学习 和掌握C语言基础、数据结构算法基础; 初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能; 提高综合运用所学的理论知识和方法独立分析和解决问题的能力; 通过上机操作和调试程序,培养用学到的书本知识解决实际问题的能力;培养实际工作所需要的动手能力;培养以科学理论和工程上能力的技术,规范地开发大型、复杂、高质量的应用软件和系统
4、软件具有关键性作用; 训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风;第2章 课程设计内容和要求2.1问题描述: 学生成绩管理系统是学校教务管理的重要组成部分,处理信息量很大。该题目是对学生的成绩管理做简单的模拟,其中学生信息包括学号、姓名与成绩。成绩分为课程1成绩、课程2成绩、课程3成绩、课程4成绩和总成绩及平均成绩。另外还需统计出成绩优秀的学生人数。该成绩管理系统要求可以登记学生成绩、查询学生成绩、插入学生成绩、删除学生成绩等功能。2.2设计要求:1. 用链表实现应用系统,完成链表的建立以及链表中信息的插入、删除、查找、修改、输出等操作。2.建
5、立学生成绩单链表,链表中每个节点由五个域组成,分别是学号、姓名、性别、成绩、存放下一个结点地址的next域。3. 通过菜单选择操作方式完成以下功能:(1) 登记学生成绩;(2) 查询学生成绩;(3) 插入学生成绩;(4) 删除学生成绩;(5) 输出学生成绩;(6) 统计优秀学生人数; 第3章 课程设计总体方案及分析3.1 问题分析:该题目涉及到单链表的各种操作,包括单链表的建立,结点的查找、插入、删除等基本运算。首先建立学生成绩单链表,链表中每个节点由五个域组成,分别是学号、姓名、性别、成绩、存放下一个结点地址的next域。然后将要求完成的各项功能写成函数,登记学生成绩对应建立单链表的功能。由
6、于该系统处理的信息量大,采用单链表的形式容易处理插入、删除学生信息,故采用单链表来存储学生信息,用结构体类型定义每个学生记录,这样单链表中每个结点可描述为:typedef struct Nodeint num;char nameMALLEN;char sex20int score1;int score2;int score3;int score4;int total;double average;struct Node *next;Node;3.2 概要设计本项目的模块结构如图。图中方块表示函数,方块中指出函数名,箭头表示函数间的调用关系,虚线表示文件的组成。学生成绩管理系统程序包含以下函数:
7、(1) Node *create(Node *h,int n):创建学生成绩信息表。(2) void find(Node *h):查找学生成绩。(3) void insert(Node *h):插入学生信息。(4) void shanchu(Node *h):删除学生信息。(5) void youxiu(Node *p):统计优秀学生人数。(6) void output(Node *h):输出全部学生信息。 3.3 模块结构图: 图3.3.13.4 流程图图3.4.13.5 详细设计1. 创建学生成绩信息表Node *create(Node *h,int n)Node *p,*r;int i;
8、h=(Node *)malloc(sizeof(Node);h-next=NULL;r=h;for(i=1;inext;q=(Node *)malloc(sizeof(Node);printf(请输入插入学生的学号:);scanf(%d,&q-num);printf(请输入学生的姓名:);scanf(%s,q-name);printf(请输入学生的第1门成绩:);scanf(%d,&q-score1);printf(请输入学生的第2门成绩:);scanf(%d,&q-score2);printf(请输入学生的第3门成绩:);scanf(%d,&q-score3);printf(请输入学生的第4
9、门成绩:);scanf(%d,&q-score4);q-total=q-score1+q-score2+q-score3+q-score4;q-average=q-total/4;q-next=NULL;while(p!=NULL)r=p;p=p-next;/whiler-next=q;/r=r-next;/insert3. 查找学生成绩:void find(Node *h)4.删除学生信息:void shanchu(Node *h) 5. 统计优秀学生人数:void yoxiu(Node *p)6.输出全部学生信息:void output(Node *h)注:具体源代码见附录3.6 调试分析
10、 (1) 开始执行程序,系统创建链表,进入输出的选择界面; (2)按需要进行的操作选择输入相应的选项,系统执行输入的字符命令; (3)输出相应的数据; (4)测试无误,完成测试;3.7 测试结果1. 首先,进入成绩管理系统的界面 图3.7.1 2.输入“1”,进入成绩登记界面,登记成绩 .图3.7.2 3.输入“5”,输出所有所登记学生的成绩及平均成绩 图3.7.3 4.输入“6”,输出优秀学生总人数及其各自的信息 图3.7.4 5.输入“2”,查询学生成绩 图3.7.5 6.输入“3”,插入学生成绩 图3.7.6 7.,输入“4”,删除学生成绩 图3.7.7 3.8 参考文献 【1】 刘勇
11、郭韶升 张炜 周丽雅 数据结构实验与实训教程 国防工业出版社 2011年7月 【2】 严蔚敏 吴伟民 数据结构(C语言版) 清华大学出版社 2007年 【3】 谭浩强 C语言程序设计(第四版) 清华大学出版社 2010年6月 第2部分 课程设计总结为了备考4级,花了大量的时间复习,本想说终于松了一口气。但回想了一下,16周还有更重的任务,数据结构课程设计及考试、信号与系统测试等。所以,考完4级后我立马转身把时间投入到课程设计中。整个过程花了一周多的时间才完成。回想过去的一周,当我看到题目的时候,一头雾水,什么都不懂,回想往事,忙于学生会工作、班级工作等我忽视了学习这一块,也就在此时我认识到了学
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 成绩管理系统
链接地址:https://www.31ppt.com/p-2396753.html