数 据 库 课 程 设 计
学生成绩管理系统设计
姓名:彭锦军
班级:B06-2 班
学号:20061522
系别:数学系
专业:信息与计算科学
1
数 据 库 课 程 设 计
《C/C++程序设计》课程设计指导书
1.课程设计目的:
进一步熟悉 C/C++中类的概念、类的封装、继承的实现方式。了解系统
开发的需求分析、类层次设计、模块分解、编码测试、模块组装与整体调试的
全过程,加深对 C/C++的理解与 Visual C++环境的使用;逐步熟悉程序设
计的方法,并养成良好的编程习惯。
2.课程设计任务:
学生成绩管理系统主要提供功能:
1.执行初始化,输入学生基本数据。
2.插入学生成绩。
3.查找学生成绩(1)通过成绩查找(2)通过学号查找(3)通过姓名查找(4)
退出。
4.统计(1)计算总分和均分(2)获得同一成绩的人数(3)统计分数段的人数
5.排序。
6.删除记录。
7.退出 等功能。
3.课程设计结果形式:
1.设计报告,其中包括流程图,算法,各种查询关系,C 语言程序。
2.通过 VC 进行机上运行,得到结果。
2
数 据 库 课 程 设 计
学生成绩管理系统设计
1.问题描述
随着社会的发展,越来越多的学生进入学校,同时,在每个学校,学生人口
基数非常的大,当同学们查询个人成绩或者老师登陆学生成绩时,面对庞大的
数据,是非常麻烦的。所以,设计一个合理,优化的学生成绩管理系统数据库
对一个学校来说是很有必要的。
在现在的社会,IT 行业的飞速发展,早已经告别了曾经用纸记录数据的时代,
计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化
处理,提高了处理的及时性和正确性。所以,设计的数据库能够提高学生对自
己的成绩查询,能够更好的方便同学,老师之间的交流和沟通,同时,能够更
好的提高学校的利用效率。
2.设计需求分析
在此设计的数据库系统中,对学生成绩管理系统,我设计了以下的功能:
1.执行初始化,输入学生基本数据 2.插入学生成绩 3.查找学生成绩(1)通过成
绩查找(2)通过学号查找(3)通过姓名查找(4)退出 4.统计(1)计算总分和均分(2)
获得同一成绩的人数(3)统计分数段的人数 5.排序 6.删除记录 7.退出 。
它们的具体操作分析如下:
<1>.在创建执行菜单函数的基础下开始执行主要功能函数,执行初始化,
然后创建链表,申请空间输入学生姓名学号和成绩以及输入提示几门成绩,当
成绩输入完毕则 break;返回函数的菜单选择界面。
<2>.删除记录是建立在功能链表创建的基础上,设置*p 为查找到要删
除的结点指针,*q 为其前驱指针然后输入学号,给 q 和 p 赋初值头指针查找并
显示即将删除的学生信息,然后是执行删除文件,最后是保存文件返回主菜单。
3
数 据 库 课 程 设 计
转换到 void print(STUDENT*h)此功能结束。
<3>.查找记录,设置指针指向学生姓名,当记录的姓名不是要找的,或
指针不为空时,移动指针,指向下一结点 ,如果指针为空,则显示没有该学生,
如果找到,则显示找到的信息。
<4>.插入记录,首先用指针指向插入位子,保存插入位子的学号。
<5>.申请空间,然后输入学生信息,N 门课程则输入 N 次学生分数,注
意在此要加一个学生成绩在 0 到 100 之间的限制,在对成绩进行处理,如求总
分和均值。查找插入位子,新结点则为新的头结点了,提示存盘返回头指针。
其中在查找的同时涉及到了总分和均值的计算,所以索引和均值的计算函数也
是必不可少的,void computer(STUDENT*h)保存记录条数,总分均值初值
均为 0 从头指针开始累计总分,i++记录统计条数,指针后移,求均值,注意
在求均值的时候,均值为浮点数,所以要做类型转换。对输入的一系列记录要
统一的做一个排序是管理系统的又一处理功能,首先定义保存名次,将原表的
头指针所指的下一个结点作头指针第一个结点为新表的头结点,当原表不为空
的时候进行排序取原表的头结点,h1=h1->next,p=h; q=h 作总分比较
while(t->sum<p->sum&&p!=NULL)。待排序值小则新表指针向后移 等等
操作。
最后, 程序在机上运行,设计功能基本合格。
3.系统结构设计
1.数据结构示意图:
4
- 1
- 2
- 3
前往页