搜档网
当前位置:搜档网 › 学生成绩管理系统实训报告

学生成绩管理系统实训报告

学生成绩管理系统实训报告
学生成绩管理系统实训报告

枣庄学院数学与统计学院

实训报告

实训科目:Visual FoxPro课程设计

实训课题:学生成绩管理系统的设计与实现

班级____________

学号____________

姓名____________

成绩____________

指导教师____________

20 __ 年 __ 月 __ 日

一、设计题目

学生成绩管理系统

二、开发软件

Visual FoxPro 6.0

三、课题要求

1.掌握课堂讲授的基本数据库知识和VFP的基本技巧:

(1) 数据库管理系统和VFP的界面组成与操作

(2) 表的基本操作(表的建立与修改、表达式、维护命令)

(3) 表的查询与统计(排序与索引,SELECT-SQL查询,数据库于视图)

(4) 程序设计初步(程序文件,程序的控制,多模块程序)

(5) 表单设计;

(6)菜单设计;

(7) 实例:学生成绩管理系统的开发。

2.要求能够独立设计。完成一个简单的学生成绩管理系统,此系统必须有如下基本功能:

(1) 数据的查询;

(2) 记录的增加,删除,修改等功能;

(3)系统界面良好;

(4) 操作方便,运行稳定。

四、系统开发目标:

本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。为了使系统在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标:

1.系统应具有实用性、可靠性和适用性,同时注意到先进性。

2.对数据库进行动态管理,防止混乱。

3.能够按照用户选择的不同的条件进行简单查询和复合查询。

4.能够对查询结果进行分类汇总,实现报表打印。

5.方便用户的操作,尽量减少用户的操作。

五、设计时间

第16周

六、系统设计

1.总体设计:

学生成绩管理系统包含数据编辑、数据查询、数据统计、打印输出、退出系统五个模块。如图:

2.数据库设计

“学生成绩管理系统”中含有三个表,下面是三个表的结构。

表1 学生表的结构

表2 成绩表的结构

表3 课程表的结构

3.界面设计

(1)设计系统说明表单

表单功能:系统说明表单,是关于系统功能或系统使用的说明窗口,设计者通过它可以向用户说明系统相关信息。在系统启动时,程序会弹出一个说明界面,也就是开始界面,该界面显示一段时间后会自动消失,进入主程序。

设计步骤:新建一个表单,向表单上添加两个标签控件Label1、Label2、一个定时器控件Timer1,将该表单的Picture属性设置为一幅图片,就可以在表单背景显示图片如图1所示。

属性设置见表。

表4 控件属性设置

控件属性属性值

Form1 TitleBar 0

AutoCenter .T.

Picture 添加一幅图片

BorderStyle 0

Label1 Caption 学籍管理系统V1.0

FontSize 36

FontColor 0,0,255

BackStyle 0

Label2 Caption 制作人:程序员

FontSize 18

FontColor 0,0,255

BackStyle 0

Timer1 Interval 3000

添加定时器控件Timer1的Timer事件代码:

ThisForm.release

thisform.release

do form 登录界面

说明:将表单的TitleBar属性设置为0,可以去掉表单的标题栏,表单开始执行后,定时器就会工作,3000ms后,触发定时器的Timer事件,在事件代码中会退出表单。表单运行结果见图2。

图2 表单运行图

(2)设计系统登陆表单

表单功能:系统登陆表单,是用户使用系统的第一个工作表单,具有启动系统、验证操作员“口令”、引导用户使用系统等功能。在登陆表单对用户的密码进行验证时,采用一个密码表,用一个数据表存放用户名和对应的密码。在表单中输入用户名和密码确认后,表单查询密码数据表,如果用户名和密码正确,可以进入下一步的主界面,否则出现错误提示。

图3 登录表单

设计步骤:进入表单设计器,添加两个标签Label1、Label2;两个命令

按钮控件Command1、Command2;一个组合框控件Combo1;一个文本框控件Text1,如图3所示。表单及控件属性见表5。

表5 控件属性设置

控件属性属性值

Form1

Caption 系统登陆

AutoCenter .T.

MaxButton .F.

MinButton .F.

Label1 Caption 用户名:

Label2 Caption 密码:

Text2 PasswordChar *

Command1 Caption 确定

Command2 Caption 退出

建立数据表:密码.dbf ,包含两个字段:“用户”,“密码”,均为字符型,10位,将建立的“密码.dbf”存放在系统默认打开目录。

图4 密码表

编写Command1的Click事件代码:

use 密码.dbf &&打开数据表密码.dbf

UseName=AllTrim(https://www.sodocs.net/doc/6d13531164.html,bo1.value)

Passwd=AllTrim(ThisForm.Text2.value)

If !Empty(UseName) .AND. !Empty(Passwd)

Locate For 用户=UseName &&定位

If Found() .AND. 密码==Passwd &&如果数据表中的记录与用户输入的数据匹配

use

Do Form 应用界面.scx &&打开"主界面.scx"

thisform.release

Else

MessageBox("用户名或密码错误",16,"错误") &&出错信息框EndIf

EndIf

编写Command2的Click事件代码:

ThisForm.release && 退出表单

3)数据编辑界面(仅以学生表为例)

表单功能:利用此表单完成学生表的编辑:

设计步骤如下:根据“学生.dbf”利用表单向导建立“学生基本信息”表单:

(1)单击“文件”菜单,选择“新建”命令,进入“新建”窗口。

(2)选择“表单”,单击“向导”按钮,进入“向导选取”对话框,

(3)选择“表单向导”,为单个表创建操作数据的表单,单击“确定”按钮,进入“表单向导”之步骤1――字段选取对话框。

(4)单击“”按钮,弹出“打开”对话框,选取“学生.dbf”文件,并将全部可用字段转入“选定字段”栏中,

(5)单击“下一步”按钮,进入“表单向导”之步骤 2 -选择表单样式对话框,使用系统默认的“样式”和“按钮类型”。

(6)单击“下一步”,进入“表单向导”之步骤3-排序次序对话框。该对话框用来按照字段排序记录。添加“学号”字段到选定字段。

(7)单击“下一步”,进入“表单向导”之步骤 4 —完成对话框。该对话框用来设定表单标题和保存选项。键入表单标题“学生基本信息”,选中“保存并运行表单”,

(8)单击“完成”,表单被保存并运行。

4)其它部分数据表单:

查询表单(以用学号查询为例)表单功能:在组合框中显示学生表中所有学号,选中一个学号后,在表格中显示相应该同学的相关信息。

设计步骤:(1)打开表单设计器,添加一个组合框Combo1,一个表格Grid1,二个命令按钮Command1,一个标签Label1,如图:(各控件的caption 属性设置按照图例设置)

(2)、设置标签的:autosize=.t,组合框的:style=2, RecordSource=学生, RecordSourcetype=2,将学生表添加到数据环境中.

(3)编写command1的click事件:

if Empty(https://www.sodocs.net/doc/6d13531164.html,bo1.Value) &&如果没有输入查询信

MessageBox("请输入查询信息",16) &&则提示用户输入信息Else

Select 姓名,性别,专业,课程名称,成绩,考试日期from 学生,课程,成绩where 学生.学号==alltrim(https://www.sodocs.net/doc/6d13531164.html,bo1.value) and 成绩.学号=学生.学号and 课程.课程编号=成绩.课程编号;

into cursor 信息临时表

thisform.grid1.recordsource='信息临时表'

EndIf

编写command2的click事件:

thisform.release

5)部分数据输出报表(以课程信息输出为例)

使用“快速报表”功能为“课程”表创建包含其全部字段的“课程信息报表”。

操作步骤如下:

(1) 打开“报表设计器”窗口,

(2) 在“报表”菜单中选择“快速报表”命令,弹出“打开”对话框,在该对话框中选择报表的数据源“课程”表,弹出“快速报表”对话框,该对话框用于选择报表的字段并指定字段的布局格式,

(3) 在“字段选择器”对话框中,单击“全部”按钮,将“所有字段”列表框中的全部字段添加到“选定字段”列表框,再单击“确定”按钮返回“快速报表”对话框。

(4) 单击“确定”按钮,返回“报表设计器”窗口,“快速报表”已生成,如(5) 单击“常用”工具栏上的“预览”按钮,弹出“快速报表”预览窗口单击“常用”工具栏上的“保存”按钮,将报表保存为“课程信息报表.frx”

6)菜单设计

打开“菜单设计器”,按下表所示内容定义下拉式菜单。

“学生成绩管理”菜单定义内容

(2).从主窗口的“显示”菜单打开“常规选项”对话框,选中“顶层表单”复选框,关闭对话框。

(3).将所定义的菜单保存到“学生管理顶层菜单.mnx”文件,并生成“学生管理顶层菜单.mpr”菜单程序文件。

打开“表单设计器”窗口,添加3个“标签”控件,按下表内容设置各控件的属性。

“学生成绩管理表单”各控件属性设置值

Label1 Caption

AutoSize

FontName

FontSize

欢迎使用

.T.-真

宋体

16

Label3

Caption

AutoSize

FontName

FontSize

V1.0

.T.-真

宋体

16

调整各标签控件的位置,使用“布局”工具栏使各标签控件在表单中居中。

在表单的Load事件代码中添加调用菜单程序的命令:

DO 学生管理顶层菜单.mpr WITH This, “xsglcd”

在表单的Destroy事件代码中添加清除菜单的命令:

RELEASE MENU xsglcd EXTENDED

将所设计的表单保存到“学生成绩管理表单.scx”文件中,运行该表单,如图所示。

七、结束语

经过为期一周的课程设计可谓受益匪浅。经过实践才真正的地把文字化为了知识,才真正的为我所用。认识到自己在学习过程中的缺点和不足。为以后的学习生活积累了宝贵的经验和教训。心得体会如下:

再做vfp系统开发时一定要做好信息的收集工作,否则后期工作将坠入云里雾中。信息收集时要求尽可能的考虑周全。这才能为设计阶段打下一个良好的基础。

VFP程序设计有几点值得注意:你可以不像课本上一样建立分类文件夹,但所有文件都要在一个文件夹中;

在写主程序时,不能照书直接抄,必须根据自己程序设计的实际而有所

八、系统需要改善之处,改善方法的构思

1.该系统比较简单,功能较少;

2.可添加用户注册功能、修改密码功能;

相关主题