VF程序课程设计
《VF程序设计》综合性实验
实验报告
题目: 学生成绩管理系统
姓名: 谢鹏飞
班级: 08级国会1班
学号: 200848990116
指导教师: 张翼飞
完成时间: 2010/1/3
1、 实验题目
学生成绩管理系统
2、 实验目的
进一步加深、巩固所学课程(VF程序设计)的基本理论知识,理论联系实际,进一步培养综合分析问题和解决问题的能力。掌握运用VF数据库管理系统...
《VF程序
》综合性实验
实验
题目: 学生成绩管理系统
姓名: 谢鹏飞
班级: 08级国会1班
学号: 200848990116
指导教师: 张翼飞
完成时间: 2010/1/3
1、 实验题目
学生成绩管理系统
2、 实验目的
进一步加深、巩固所学课程(VF程序设计)的基本理论知识,理论联系实际,进一步培养综合分析问题和解决问题的能力。掌握运用VF数据库管理系统独立分析、设计、编写、调试应用程序的能力,了解完整的应用系统开发的过程,掌握进行其它相关设计的技能。
3、 实验要求
通过设计一个简单学生成绩管理系统来方便成绩的管理,主要内容是能够在学生表、教师表、班级表、课程表、成绩表等添加记录;能够查询到学生基本情况、全局情况(浏览表)、按学生查询、课程浏览、多项组合查询等功能;能够统计按个人统计成绩、按单科成绩统计成绩等;能够修改课程信息、学生信息、成绩信息等。最后通过主表单或顶层表单的菜单等方法将各模块表单合理地连接,形成完整的系统。整个系统中包含四个功能模块:添加模块、查询模块、统计模块、修改模块。
4、 功能结构
5、 实体联系图
6、 数据库数据表结构
学生数据表如表1所示。
表1 学生数据表(student.dbf)
字段名
类型
宽度
索引
索引名
索引类型
索引表达式
学号
字符型
12
升序
学号
主索引
学号
姓名
字符型
8
性别
字符型
2
出生日期
日期型
8
班级编号
字符型
4
升序
班级编号
普通索引
班级编号
班级数据表如表2所示。
表2 班级数据表(classes.dbf)
字段名
类型
宽度
小数位
索引
索引名
索引类型
索引表达式
班级编号
字符型
4
升序
班级编号
主索引
班级编号
年级
字符型
2
专业
字符型
10
系代码
字符型
1
学制
字符型
1
类型
字符型
4
教师数据表如表3所示。
表3 教师数据表(teacher.dbf)
字段名
类型
宽度
小数位
索引
索引名
索引
类型
索引
表达式
教师代码
字符型
6
升序
教师代码
主索引
教师代码
姓名
字符型
8
性别
字符型
2
出生日期
日期型
8
籍贯
字符型
6
技术职务
字符型
10
备注
备注型
4
课程数据表如表4示。
表4 课程数据表(course.dbf)
字段名
类型
宽度
小数位
索引
索引名
索引类型
索引表达式
课程代码
字符型
5
升序
课程代码
主索引
课程代码
课程名称
字符型
14
升序
课程名称
普通索引
课程名称
类别
字符型
4
教师代码
字符型
6
升序
教师代码
普通索引
教师代码
学习数据表如表5说示。
表5 学习成绩数据表(score.dbf)
字段名
类型
宽度
小数位
索引
索引名
索引类型
索引表达式
学号
字符型
12
升序
学号
普通索引
学号
课程代码
字符型
5
升序
课程代码
普通索引
课程代码
成绩
数值型
4
1
升序
学号+课程
主索引
学号+课程代码
七.表单设计
表一:系统信息
对象名
属性
属性值
Form1
Caption
系统信息
Lable11
Caption
学生成绩管理系统
Lable12
caption
开发工具:VisualFox Pro
Lable13
caption
制作人:谢鹏飞
Lable14
caption
学号:200848990116
Lable15
caption
班级:国会计0801
Lable16
caption
制作时间:2010年1月1日
表二:登录
用户名和密码存放在数据表中,使用时不能连续输入错误3次的登录表单。
步骤为:
1、首先在项目管理器的界面中选择创建一个表单,命名为:登录.Scx
2、在空白表单界面上用常用工具绘制相应控件,属性如下图所示:
表单中对象的属性设置
对象名
属性
属性值
Form1
Caption
系统登录
Lable1
Caption
欢迎使用学生成绩管理系统
Lable2
Caption
用户名
Lable3
caption
密码
Command1
caption
登录
Command2
caption
重填
Command3
caption
退出
Combo1
RowSource
mm.yhm
Text1
passwordchar
*
其中需要在表单的数据环境中添加密码表。密码表设有两个字段,YHM和MM。
3、为对象添加代码。
在form1的load 事件中添加
public n
n=0
Command1的click事件
locate for alltrim(mm.yhm)==alltrim(thisform.combo1.value)
if found()
if alltrim(thisform.text1.value)==alltrim(mm.mm)
thisform.release
do form 主控表单.scx
else
messagebox('你输入的密码不正确,请重新输入',48,'登录信息')
thisform.text1.value=''
n=n+1
if n=3
messagebox('登录失败!',16,'提示信息')
quit
endif
endif
else
messagebox('对不起,你不是合法用户')
endif
Command2的click事件
thisform.combo1.value=''
thisform.text1.value=''
Command3的click事件
answer=messagebox('确认退出吗 ?',1+32+0,'确认退出')
if answer=1
thisform.release
quit
endif
表三:
1、首先在项目管理器的界面中选择创建一个表单,命名为:修改.Scx
2、在空白表单界面上用常用工具绘制相应控件:一个标签、一个页框(含有3页)、两个命令按钮。其中学生页面上有一个Combo1,六个标签,五个文本框,课程页面上有一个Combo1,五个标签,四个文本框,成绩页面上有一个Combo1,四个标签,三个文本框。为表单设置数据环境,为student.dbf、course.dbf、score.dbf 属性如下图所示:
表1 修改表单.scx中对象的属性设置
对象
属性
属性值
Form1
Caption
修改数据
Command1
caption
保存
Command2
caption
放弃
Page1
Caption
课程表
Page2
Caption
学生表
Page3
Caption
成绩表
表2 page1中对象的属性设置
对象
属性
属性值
Combo1
rowsourcetype
6-字段
rowsource
student.学号
text1
controlsource
student.学号
Text2
controlsource
student.姓名
Text3
controlsource
student.班级编号
Text4
controlsource
student.性别
Text5
controlsource
student.出生日期
表3 Page2中对象的属性设置
对象
属性
属性值
Combo1
rowsourcetype
6-字段
rowsource
course.课程代码
text1
controlsource
course.课程代码
Text2
controlsource
course.课程名称
Text3
controlsource
course.类别
Text4
controlsource
course.教师代码
表4 Page3中对象的属性设置
对象
属性
属性值
Combo1
rowsourcetype
6-字段
rowsource
score.学号
text1
controlsource
score.学号
Text2
controlsource
score.课程代码
Text3
controlsource
score.成绩
3、为对象添加代码。
combo1的interactivechange事件代码:
sele student
this.parent.text1.value=学号
this.parent.text2.value=姓名
this.parent.text3.value=班级编号
this.parent.text4.value=性别
this.parent.text5.value=出生日期
thisform.refresh
command1的click事件的代码:
a=MESSAGEBOX("确定修改?")
if a=1
sele student
b=this.parent.text2.value
c=this.parent.text3.value
d=this.parent.text4.value
e=this.parent.text5.value
replace 姓名 with b
replace 性别 with d
replace 出生日期 with e
replace 班级编号 with c
MESSAGEBOX("记录修改成功!")
Endif
page2中对象的事件设置:
combo1的interactivechange事件代码:
sele course
this.parent.text1.value=课程代码
this.parent.text2.value=课程名称
this.parent.text3.value=类别
this.parent.text4.value=教师代码
thisform.refresh
command1的click事件的代码:
a=MESSAGEBOX("确定修改?")
if a=1
sele course
b=this.parent.text2.value
c=this.parent.text3.value
d=this.parent.text4.value
replace 课程名称 with b
replace 类别 with c
replace 教师代码 with d
MESSAGEBOX("记录修改成功!")
endif
page3中对象的事件设置:
combo1的interactivechange事件代码:
sele score
this.parent.text1.value=学号
this.parent.text2.value=课程代码
this.parent.text3.value=成绩
thisform.refresh
command1的click事件的代码:
a=messagebox("确定修改?")
if a=1
sele score
b=this.parent.text2.value
c=this.parent.text3.value
replace 课程代码 with b
replace 成绩 with c
messagebox("记录修改成功!")
endif
8. 心得体会
通过这次对实验报告的用心制作与设计,我又增加了对VF知识的熟练掌握程度。在这一年半的时间里,张老师认真地教我们计算机的基础知识。从中,我认真掌握并熟练应用到了该系统程序的功能。在认真制作该实验报告的过程中,我遇到了许多的问题与困难,是因为自己在平时的学习过程中没有投入足够的精力去预习和复习。同时,自己也缺乏必要地实践积累。通过这么长时间的学习,我明白并认真熟练了数据库技术与程序设计。
其实,无论是学习计算机知识,还是遇到生活中的任何一件事情,关键在于用心二字。只要我们静下心来,敢于实践,多
,多
,我们就可以做好太多的事情。最关键的,就是我们自己的态度问题。只要我们端正好自己的态度,用心去切实实践,大胆谨慎行事,成功一定会属于我们自己。
再次感谢张老师在这一年半的时间里给予我们的教育。同时,我也我也会一直支持老师的工作!
学制
系代码
专业
班级编号
年级
籍贯
出生日期
性别
姓名
教师代码
备注
技术职务
教师代码
课程名称
课程代码
类别
成绩
学号
课程代码
姓名
性别
学号
班级编号
出生日期
班级表
教师表
课程表
成绩表
学生表
学生成绩管理
类型
成绩浏览
课程浏览
教师浏览
成绩信息
统计单科成绩
统 计 个 人 成绩
班级浏览
学生浏览
课程信息
学生信息
成绩表
课程表
教师表
班级表
学生表
统计
查询
修改
添加
学生成绩管理系 统
系统信息
本文档为【VF程序课程设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。