大学生成绩查询系统.docx
《大学生成绩查询系统.docx》由会员分享,可在线阅读,更多相关《大学生成绩查询系统.docx(20页珍藏版)》请在冰点文库上搜索。
大学生成绩查询系统
摘要
随着科技的进步,计算机知识在各个领域广泛应用,计算机程序在高校教育的系统里面也扮演了举足轻重的地位。
近年来高校学生日益增多,高校每学期都组织科目考试。
考试结束后,学生想要知道考试成绩,来检验自己一学期的听课质量,讲师想知道学生的考试成绩来改进自己的教学计划。
在众多学生成绩中,进行人工查询实属不易。
我们可以充分利用计算机带来的便利,借助VisualFoxPro6.0计出大学生成绩查询系统。
借助这样的系统,我们可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工用量。
此次我们小组使用VisualFoxPro6.0编程,实现了大学生成绩查询系统的过程。
本系统通过对大学生成绩查询系统进行可行性分析、需求分析和设计逐步将一个大学生成绩查询系统的实现过程呈现出来。
该系统可以对学生的基本信息和成绩进行管理,最后本系统能对学生基本信息和成绩信息进行查询。
关键词:
数据库;VisualFoxPro6.0;管理;查询
摘要I
1前言1
1.1作业背景1
1.2选题说明1
1.2.1基本思路1
1.2.2作业目标1
1.3工作业绩2
1.3.1个人主要工作2
1.3.2主要收获2
1.3.3自我评定2
2.1系统结构图3
2.1.1总体功能流程图3
2.2.2总体功能E-R图3
2.2数据库总体设计4
2.3需求分析4
2.4所需的数据表4
2.4.2数据表的字段5
2.5建立项目6
2.6表之间的关联7
3建立数据库和数据库表8
3.1建立数据库8
4表单的设计9
4.1登录表单设计9
4.2学生平均成绩绩点查询表单设计11
4.2.1学生平均成绩绩点查询表单设计过程11
4.2.2确定和退出代码14
4.2.3保存与运行15
4.3基本情况及成绩表单设计16
4.3.1学生基本情况及成绩表单设计过程16
4.3.2退出代码19
4.3.3保存与运行19
4.4学期汇总表单设计19
4.5学期汇总与课程成绩表单设计20
4.7报表设计21
5主程序和系统连编23
5.1主程序设计23
5.2系统连编24
结束语25
参考文献26
1前言
1.1作业背景
本文根据《数据库应用与开发》课程要求而做。
课程作业要求如下:
用数据库管理系统开发工具(VisualFoxPro)开发一个实用的小型管理信息系统。
根据课程设计时间选择适当规模大小的设计题目,按照系统开发的流程及方法,踏实地开展课程设计活动。
课程设计活动中,撰写相关技术文档。
最后提交详细的课程设计报告。
开发出可上机运行的管理信息系统,通过上机检查。
1.2选题说明
要在有限的两周时间设计出一个小型的信息管理系统,考虑到我们知识面和视野以及信息系统的价值性,我们小组讨论决定设计一个大学生成绩查询系统比较合适。
这个系统能够对大学生成绩进行查询和管理,比较贴近我们大学生的实际,具有较强的可行性、实践性和价值性。
1.2.1基本思路
设计该系统时,采用自底向上的设计方法。
首先设计数据结构,然后设计表单、菜单、报表,最后设计主程序。
1.2.2作业目标
大学生成绩查询系统要实现对大学生的成绩进行查询和管理,应该有成绩管理功能。
要退出系统,需要有退出功能。
如果想打印成绩信息,应该提供打印功能。
所以大学生成绩查询系统应该包括以下功能。
成绩管理功能
该模块实现成绩查询的功能。
用户在查询学生成绩时,有时需要了解学生的基本信息,因此希望在查询出的内容中包括学生基本情况和成绩信息。
有时用户需要查询学生的某些课程成绩,因此应该具有查询课程成绩的功能。
有时用户需要查询学生的学期成绩,因此应该具有该功能。
退出系统
完成了对大学生成绩的查询的操作后,应该可以安全地离开该系统。
通过该模块实现安全退出大学生成绩查询系统。
1.3工作业绩
1.3.1个人主要工作
我主要组织了我组成员进行讨论,建立系统结构,并进行可行性分析。
我参与了表单的绘制,并进行了学生平均成绩绩点查询和学生基本情况及成绩查询表单的设计和制作。
我也进行了系统的修改和运行工作。
同时参与了文档的录入、修改、排版和打印。
1.3.2主要收获
通过这学期对数据库这门课的学习,我对数据库有了基本的了解。
学会了怎样制作表单,菜单等内容,这对以后的学习工作有了很重大的帮助。
通过这两周的课程设计,我参与了课程设计的选题,构思,讨论,分配任务,设计程序等工作,其中遇到了很多的困难,但是我们组员并没有退缩,而是团结一致参与讨论,解决问题,排除困难,这让我们明白了合作的重要性,更学习到了数据库的主要精华,又使我掌握了使用各种关系数据库为后台数据库设计一个信息管理系统。
总之,这次课程设计受益匪浅,不仅锻炼了我做事坚持不懈的心态,也慢慢地培养了我不懂就查书的好习惯,我的自学能力也有了一定的提高,我更明白了搞计算机程序设计,要学到真正的技术完全要靠自己,在课堂上只能学到最基本的东西,但这最基本的东西也一定要学好。
1.3.3自我评定
□优□良□中□及格□不及格
2系统总体设计
2.1系统结构图
开发该系统前,先要有一个清晰的系统总体功能图。
在大学生成绩查询系统中,由项目管理器统一管理系统中的表单、数据表、程序、报表以及主菜单。
系统的整体结构是先运行主程序,由主程序调用用户登陆界面。
成功登陆后,调出本系统的主菜单,通过主菜单访问各个表单和报表。
表单和报表中的数据来自数据表中的数据。
2.1.1总体功能流程图
大学生成绩查询系统的总体功能流程如图2.1所示
图2.1总体功能流程图
2.2.2总体功能E-R图
大学生成绩查询系统的总体E-R图如图2.2所示
图2.2缺少图名
2.2数据库总体设计
进行数据库总体设计首先要进行需求分析,由需求确定系统所需要的数据表,然后确定表所需的字段,最后确定各个表之间的关联。
2.3需求分析
大学生成绩查询系统主要包括用户登陆、成绩查询和成绩打印等功能。
每个功能都要通过表单和报表来操作数据表中的数据,每个数据表存储了本系统所需要的数据信息。
所以在进行数据库设计之前,要分析出系统所需要的数据表。
2.4所需的数据表
2.4.1所需的数据表分析
分析大学生成绩查询系统的情况,首先需要了解学生的基本信息,即需要基本状况表。
登录系统需要密码,因此在基本状况表中需要有密码字段。
用户需要查询学生的单科成绩和学期的总成绩,因此需要课程名称表。
所以需要的数据表有基本状况表、课程名称表、课程成绩表和学期汇总表。
2.4.2数据表的字段
基本情况表用来记录学生的基本情况信息。
主要包括学号、姓名、班级、性别、入学时间、密码等字段。
课程名称表用来记录课程的名称信息,主要包括学期、课程代码和课程名称等字段。
课程成绩表用来记录学生的课程成绩,主要包括学号、学期、课程代号、成绩、是否补考和补考成绩等字段。
学期汇总表用来记录学生的学期汇总信息,主要包括学号、学期、总分、附加分数、学期汇总、原始名次和标准名次等字段。
下面分别列出了各表的表结构,如表2.1-2.4所示。
表2.1基本情况表结构
字段名
字段类型
字段宽度
小数位
索引否
NULL
学号
字符型
10
主索引
姓名
字符型
10
班级
字符型
10
性别
字符型
2
入学时间
日期型
8
密码
字符型
10
表2.2课程名称表结构
字段名
字段类型
字段宽度
小数位
索引否
NULL
学期
字符型
10
普通索引
课程代号
字符型
10
主索引
课程名
字符型
20
表2.3课程成绩表结构
字段名
字段类型
字段宽度
小数位
索引否
NULL
学号
字符型
10
普通索引
学期
字符型
4
课程代号
字符型
10
普通索引
成绩
数值型
6
2
是否补考
逻辑型
1
补考成绩
数值型
6
2
表2.4学期汇总表结构
字段名
字段类型
字段宽度
小数位
索引表
NULL
学号
字符型
10
主索引
学期
字符型
10
普通索引
总分
数值型
8
2
附加分数
数值型
8
2
学期汇总
数值型
8
2
原始名次
整型
4
标准名次
整型
4
2.5建立项目
项目管理器是visualfoxpro提供的强大的管理工具,它负责管理和组织本系统所需要的数据库、菜单、报表、表单、程序以及一些其他的文件,它是系统中文件、数据、文档和对象的集合。
项目管理器共有6个选项卡,分别是【全部】选项卡、【数据】选项卡、【文档】选项卡、【类】选项卡、【代码】选项卡和【其他】选项卡。
每个选项卡按一定的顺序和逻辑关系管理着项目中的文件。
项目文件以扩展名.pjx和.pjt进行保存。
通过项目管理器,用户可以快速、方便地存取存放在项目文件中的任何对象。
建立项目管理器的步骤如下所示。
(1)启动visualfoxpro,进入程序主界面。
单击菜单栏的【文件】【新建】命令,在弹出的【新建】对话框中选择【项目】单选按钮,如图2.3所示。
图2.3缺少图名
(2)单击【新建文件】按钮。
在弹出的【创建】对话框中设置一个文件名,文件名设为大学生成绩查询系统,单击【保存】按钮后即可弹出【项目管理器】对话框,这个新项目就在项目管理器中建立起来了,如图2.4所示。
图2.4缺少图名
2.6表之间的关联
在表之间建立关联的目的是为了保持数据的一致性。
通过对数据表内容的分析,需要在课程名称表和课程成绩表的【课程代码】字段之间建立关联;在基本情况表和课程表成绩表的【学号】字段之间建立关联;在学期汇总表和课程成绩表的【学号】字段之间建立关联。
完成了系统的总体设计后,就开始进行系统的详细设计,设计项目管理器、数据库、数据表、表单、菜单、报表和主程序。
3建立数据库和数据库表
3.1建立数据库
首先创建数据库,在项目管理器中创建数据库,保存数据库名为【成绩查询.dbc】。
3.2建立数据表
我们要在数据库中建立表。
在数据库设计器中建立基本情况表,课程名称表,课程成绩表和学期汇总表。
为了保持表中数据的一致性,需要在各数据表之间建立参照完整性。
当插入、删除或者修改表中记录时,就会参照引用相关联的另外一个表中的数据。
关系数据库管理系统一个重要的功能就是参照完整性。
必须先建立表之间的关系的,才能使用参照完整性。
(此章过于简单)
4表单的设计
4.1登录表单设计
登录表单提供用户登录接口。
用户只有输入了正确的用户名和密码,才能登录进入系统。
该表单使用基本情况表,其界面如图4.1所示。
图4.1缺少图名
登录表单中控件属性的说明如表4.1所示。
表4.1表单中的控件设置
控件类型
控件名称及属性
说明
标签
登录表单fontsize属性值设为:
18
标签
标签
学号
标签
标签
密码
标签
文本框
No
输入学号
文本框
Password1,passwordchar属性为【*】
输入密码
命令按钮
确定
从登录界面进入下一界面
命令按钮
退出
退出登录界面
该表单的caption属性为【登录表单】,name属性:
login
登录表单的设计步骤如下所示。
在【项目管理器】对话框淡定【文档】选项卡中,选中【表单】选项。
单击【新建】按钮,弹出【新建表单】对话框,如图4.2所示。
图4.2缺少图名
单击【新建表单】按钮,弹出【表单设计器】窗口。
一个名为form1的空表单也随之出现在【表单设计器】窗口中。
右击【表单设计器】窗口,在弹出的快捷菜单中选择【数据环境】命令。
在弹出的【添加表或视图】对话框中,从【数据库中的表】列表中选择【基本情况】表如图4.3所示,单击【添加】按钮。
然后单击【关闭】按钮,关闭【添加表或视图】对话框。
图4.3缺少图名
布局完成完登录表单的控件后,开始设计表单的方法和事件代码。
登陆表单如图4.4所示
图4.4缺少图名
4.2学生平均成绩绩点查询表单设计
4.2.1学生平均成绩绩点查询表单设计过程
学生平均成绩绩点查询表单方便用户查询自己的各科绩点,平均成绩及平均绩点。
用户只有输入了自己的各科成绩和对应的学分,就能查询各科绩点、平均成绩及平均绩点。
该表单界面如图4.5所示。
图4.5缺少图名
学生平均成绩及绩点表单中控件属性的说明如表4.2所示。
表4.2表单中的控件设置
控件类型
控件名称及属性
说明
标签
平均成绩绩点查询表单fontsize属性值设为:
14
标签
标签
请输入高数成绩
标签
标签
请输入大外成绩
标签
标签
请输入数据库成绩
标签
标签
请输入高数学分
标签
标签
请输入高数学分
标签
标签
请输入高数学分
标签
标签
高数绩点
标签
标签
大外绩点
标签
标签
数据库绩点
标签
标签
平均成绩
标签
标签
平均绩点
标签
文本框
Text1
输入高数成绩
文本框
Text2
输入大外成绩
文本框
Text3
输入数据库成绩
文本框
Text4
输入高数学分
文本框
Text5
输入大外学分
文本框
Text6
输入数据库学分
文本框
Text7
显示高数绩点
文本框
Text8
显示大外绩点
文本框
Text9
显示数据库绩点
文本框
Text10
显示平均成绩
文本框
Text11
显示平均绩点
命令按钮
确定
显示结果
命令按钮
退出
退出界面
该表单的caption属性为【学生平均成绩及绩点查询】,name属性:
login
登录表单的设计步骤如下所示。
在【项目管理器】对话框确定【文档】选项卡中,选中【表单】选项。
单击【新建】按钮,弹出【新建表单】对话框,如图4.6所示。
图4.6缺少图名
单击【新建表单】按钮,弹出【表单设计器】窗口。
一个名为form1的空表单也随之出现在【表单设计器】窗口中。
单击表单控件中的标签控件,添加标签,将它们caption属性分别设为平均成绩绩点查询表单、请输入高数成绩、输入大外成绩、输入数据库成绩、请输入高数学分、请输入大外学分、请输入数据库学分、高数绩点、大外绩点、数据库绩点、平均成绩、平均绩点,其中平均成绩绩点查询表单的fontsize属性值设为14
添加两个按钮,按钮caption属性分别为:
【确定】和【退出】。
4.2.2确定和退出代码
【确定】按钮的click事件的代码如下所示:
a=val(a)
b=val(b)
c=val(c)
d=val(d)
e=val(e)
f=val(f)
IFa>=60
aa=(a-60)/10+1
ELSE
aa=0
ENDIF
aaa=STR(aa,5,2)
IFb>=60
bb=(b-60)/10+1
ELSE
bb=0
ENDIF
bbb=STR(bb,5,2)
IFc>=60
cc=(c-60)/10+1
ELSE
cc=0
ENDIF
ccc=STR(cc,5,2)
G=(a+b+c)/3
g=STR(G,5,2)
H=(aa*d+bb*e+cc*f)/(d+e+f)
h=STR(H,5,2)
THISFORM.REFRESH
【退出】按钮的click事件的代码如下所示:
THISFORM.RELEASE
4.2.3保存与运行
关闭表单设计器,在弹出的保存对话框中保存表单。
文件命名为【学生成绩绩点查询】。
在【项目管理器】对话框中,选择【文档】选项卡下的【表单】中的【学生成绩绩点查询】,单击【运行】按钮。
运行后的登录表单,如图11所示。
图4.7缺少图名
4.3基本情况及成绩表单设计
4.3.1学生基本情况及成绩表单设计过程
学生基本情况及成绩表单方便用户通过该表单添加或者删除课程成绩信息,也可以查询或者打印成绩信息。
学生输入了班级,学号,姓名后,就能查询学生基本情况及成绩。
该表单使用课程成绩表和基本情况表,其界面如图4.8所示.
控件类型
控件名称及属性
说明
标签
课程成绩查询表单fontsize属性值设为:
8
标签
标签
请输入学号
标签
标签
请输入姓名
标签
标签
请输入班级
标签
命令按钮
第一个
查询第一个成绩
命令按钮
前一个
查询前一个成绩
命令按钮
下一个
查询下一个成绩
命令按钮
最后一个
查询最后一个成绩
命令按钮
查找
查找需要的学生成绩
命令按钮
打印
打印当前学生成绩
命令按钮
添加
添加学生及成绩
命令按钮
编辑
编辑新内容
命令按钮
删除
删除学生成绩
命令按钮
退出
退出界面
图4.8缺少图名
用表单向导进行成绩表单的设计,在已经设计好的表单中适当调整各控件的位置。
运行后的表单效果如图4.9所示。
图4.9缺少图名
登录表单的设计步骤如下所示。
在【项目管理器】对话框确定【文档】选项卡中,选中【表单】选项。
单击【新建】按钮,弹出【新建表单】对话框,如图4.10所示。
图4.10缺少图名
单击【新建表单】按钮,弹出【表单设计器】窗口。
一个名为form1的空表单也随之出现在【表单设计器】窗口中。
单击表单控件中的标签控件,添加标签,将它们caption属性分别设为学号,姓名,班级。
添加10个按钮分别为第一个,前一个,下一个,最后一个,查找,打印,添加,编辑,删除,退出。
4.3.2退出代码
【退出】按钮的click事件的代码如下所示:
THISFORM.RELEASE
4.3.3保存与运行
关闭表单设计器,在弹出的保存对话框中保存表单。
文件命名为【学生基本情况及成绩】。
在【项目管理器】对话框中,选择【文档】选项卡下的【表单】中的【学生成绩绩点查询】,单击【运行】按钮。
运行后的登录表单即可。
4.4学期汇总表单设计
用户可以通过该表单添加、删除、查询或者打印学期汇总信息。
该表单使用学期汇总表和基本情况表。
用表单向导进行成绩表单的设计,在已经设计好的表单中适当调整各控件的位置,运行后的表单效果如图4.11所示。
图4.11缺少图名
4.5学期汇总与课程成绩表单设计
用户通过该表单可以添加、删除、查询、或打印学期汇总信息和课程成绩信息。
该表单使用学期汇总表和课程成绩表。
用表单向导进行成绩表单的设计,在已经设计好的表单中适当调整各控件的位置,运行后的表单效果如图4.12所示
图4.12缺少图名
4.6菜单设计
菜单主要包括菜单的布局,创建自定义菜和菜单的使用。
在该系统中,用户登录后就会出现菜单系统,通过菜单系统可以访问到系统的各个模块。
本系统中,主要包含以下菜单。
●文件:
新建、打开、关闭、保存、另存为、页面设置以及推出
●编辑:
撤销、重做、剪切、复制以及粘贴。
●成绩查询:
课程成绩、学期汇总以及学期汇总与课程成绩。
●成绩打印:
报表设计和打印成绩表。
●退出系统
●帮助:
帮助主题和关于。
在【项目管理器】对话框中,单击【运行】按钮,此时屏幕的最上面出现菜单名。
例如单击菜单名【成绩查询】,会出现下一级菜单,如图4.13所示。
图4.13缺少图名
4.7报表设计
由于需要打印成绩信息,所以首先要设计出成绩报表。
通过报表向导进行报表设计,在已经设计好的报表中适当调整各控件的位置,最终的报表形式如图4.14所示。
运行后的报表效果如图4.15所示。
图4.14缺少图名
图4.15缺少图名
5主程序和系统连编
5.1主程序设计
在visualfoxpro6.0中。
应用程序的入口称作主文件,是数据库管理系统的最先执行的程序。
主程序一般具有以下功能。
●对系统进行初始化,设置系统的运行状态参数
●定义全局变量
●设置系统栏
●调用系统登录界面
●结束时清理环境
进行程序设计,首先建立主程序,在设置主文件。
被设置的文件以粗体形式显示,如图5.1所示。
图5.1缺少图名
5.2系统连编
把应用程序中所用到的组件都添加到项目管理器中后,才能开始连编应用程序。
完成系统连编后,在磁盘上可以找到该系统的可执行程序。
运行后的界面如图5.2所示。
图5.2缺少图名
结束语
在本次课程设计中,通过我们小组组员的团结合作,课程设计工作得以圆满的结束了。
这两个星期的准备和设计制作,让我们小组成员学习到很多东西,尤其是对数据库的基本知识与实践能力。
在这次课程设计过程中我们不仅是做了数据库学生成绩查询系统,更重要的是在我们准备这次课程设计过程中通过讨论学习我们接触到了以前在书本上学不到的知识。
这次课程设计我们也遇到了很多困难,也有停滞不前的时候,但是我们都没有放弃,而是分工合作,查询资料,相互讨论研究,询问其他同学,在一次次的实践当中摸索前进,遇到的一个个困难给了我们一次次重新学习、再次思索的机会。
通过不断的整理完善,让我们重新又对数据库这门课程有了新的认识,对目前所掌握的知识进行审理,进行了再次的纠正或者完善,我们明白了光学会理论知识是不行的,理论的知识都是为现实当中的实践活动服务的。
理论联系实际就在这里自然地得到实现。
这使我们巩固已学知识,而且巩固动手操作的能力也大有进步。
此次课程设计用到的程序是VFP语言,我们就对VFP有了系统的了解,这个程序可以说是运用很广泛的程序,在很多领域中都可以用到。
如果我们没有真正的去学习并操作,如果没有这次课程设计,那我们就不会真正掌握VFP的编程技巧呢,就不会用VFP搞前台界面,因此,这次我们在这次课程设计当中得到了宝贵的财富,这将在我们以后学习工作中给与我们力量,是我们光从书本上理解不了的。
在这里,真诚的感谢刘老师给了我们这次宝贵的机会。
大学生成绩查询系统能够顺利完成,离不老师的悉心指导和周围同学的帮助。
老师的指导和帮助对我能够顺利完成这次毕业设计起到了关键性的作用,在这里表示最真诚的感谢和敬意。
非常感谢我团队同学的团结协作,在大家的共同努力下,我们能够顺利攻破每个难题完成数据库系统应用课程设计。
参考文献
[1]金敏力,刘多林,田兆福.数据库原理与应用教程——VisualFoxpro9.0[M].辽宁:
东北大学出版社,2009.
[2]夏邦贵,河海宾.VisualFoxpro6.0数据库开发经典实例精解[M].北京:
机械工业出版社,2006.1
[3]金敏力,田兆福,刘多林.VisualFoxpro6.0中文版实用教程[M].北京:
机械工业出版社,2004
[4]马军,王岩.VisualFoxpro毕业项目指南与项目实践[M].北京:
科学出版社