学生成绩管理系统说明书
- 格式:doc
- 大小:288.00 KB
- 文档页数:25
唐山学院
数据结构课程设计
题目学生成绩管理系统设计与实现
系(部) 计算机科学与技术系
班级11计本1班
姓名尹云
学号**********
指导教师张小松
2013 年1 月 4 日至 1 月11 日共 2 周
2013 年1 月11 日
数据结构课程设计任务书
课程设计成绩评定表
1引言
学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者
和管理者来说都至关重要。为了提高学校管理员和学生管理和查询学生成绩的效率,需
要建立一个学生成绩管理系统,使我们可以在众多的学生信息中查找自己的成绩信息,面对学院大量的学生信息,学生只要登录本系统就可以查找到自己的成绩信息,而管理
员也方便去管理每学期的学生的成绩信息。学生成绩管理系统,使学生成绩信息管理工作规范化、系统化、程序化,避免学生管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改学生信息。学生成绩管理系统有效地管理学生成绩
相关信息,包括学生成绩的查询、录入、排序、统计等功能。该系统为用户提供了一个
简单的人机界面,用户可以根据提示信息进行各种操作。
本次设计使用的编程语言是C语言。
2问题分析
根据设计题目要求分析如下:
(1)本题目主要涉及顺序表的基本操作。
(2)在学生成绩管理系统中,录入学生信息时通常按录入顺序的先后,因此选用线性表。在查找学生信息时,是在大量无序的学生信息中,通过比较所给关键字与对应信息项,找到所要查找的学生信息。修改学生信息是在查找的基础上完成的,首先要找到需要修改的信息项,用输入的新数据覆盖原来的老数据,达到修改的目的。删除学生信息也是在查找的基础上完成的,先找到要删除的学生信息,从要删除的那个信息项开始,用后一个信息项覆盖它,一直循环到最后,即可完成删除。在查询不及格的学生信息时,只要把符合不及格的学生信息输出即可做到查询。在统计不同等级的学生人数时,是想要根据划分的不同等级,将所有学生信息分成符合条件的几个部分。
学生信息的存储结构:
struct STU/*定义学生信息结构体*/
{
int num;/*学号*/
char name[20];/*姓名*/
double Data;/*数据结构成绩*/
double Math;/*高等数学成绩*/
double English;/*大学英语成绩*/
double sum;/*总成绩*/
double ave;/*平均成绩*/
}STU,stu[100000]
3总体设计
3.1 模块结构图
图3.1 系统模块结构图
输入:学生信息的录入。
查找:按学号或姓名查找学生成绩,输入关键字,查找指定信息记录并输出。
修改:通过调用查找函数,找到要修改的学生信息,输入新数据覆盖原先的数据。
删除:通过调用查找函数,找到要删除的学生信息,用后一项覆盖前一项。
查询:查询各科成绩不及格的学生成绩,输出其学生信息。
排序:按总成绩排序,并输出排序后学生信息。
统计:分别统计各个等级的学生人数,并输出各个等级的学生人数。
退出:结束程序运行。
3.2 总体流程图
图3.2 系统流程图结构图
4详细设计4.1 录入模块
该模块实现的功能是从键盘录入学生信息。
4.1.1设计思路
void Getinformation()此函数用来录入学生信息。此函数用while循环达到循环输入的目的,只要输入的学号有效(在所有学号的范围内且不等于-1),就可以实现学生信息的不断录入,用-1做结束录入的标志。
4.1.2流程图
图4.1 录入模块程序流程图
4.2 查找模块
该模块实现的功能是根据所给的学生信息(关键字),查找该学生的全部信息并输出。
4.2.1设计思路
在void Seekinformation()函数中,用while循环可以实现循环输入查找信息,用if语句可以实现按学号和姓名两种查找方式。用if语句确定查找方式,通过调用void Seeknum ()或void Seekname()函数实现查找。在void Seeknum()(void Seekname())函数中,用for循环逐次查找,通过用if语句比较学号(姓名),返回符合条件的标号,并调用Printinformation()函数输出该生的所有信息。判断是否继续查找,继续查找则进入以上环境,否则退出查找。
图4.2 查找模块程序流程图
4.3 修改模块
该模块的实现的功能是根据需要修改学生信息。
4.3.1设计思路
在Modifinformation()函数中,此函数用于修改学生信息。基本原理就是用输入的新数据覆盖原来的老数据,达到修改的目的。本函数还调用了查找模块的函数,使修改前能按学号或姓名找到要修改的学生信息。
4.3.2流程图
图4.3 修改学生信息模块程序流程图
4.4 删除模块
该模块实现的功能是删除指定的学生信息
4.4.1设计思路
Deleteformation()此函数用于删除学生信息。同样调用了查找模块的函数。删除模块的关键语句是for(j=x;j 4.4.2流程图 图4.4 删除学生信息模块程序流程图 4.5 查询模块 该模块实现的功能是查询不及格(某科成绩低于60分)的学生信息并输出。 4.5.1设计思路 void Showfail() 此函数用于显示不及格学生的信息。能够按要求输出不及格学生的学号、姓名、各科成绩、平均成绩、总成绩。首先在for循环中用if语句搜索该学生是否有成绩不及格,当三门课中至少有一门不及格时就会输出该学生的相关信息。