VB课程设计学生成绩管理系统.docx
- 文档编号:26821988
- 上传时间:2023-06-23
- 格式:DOCX
- 页数:28
- 大小:461.91KB
VB课程设计学生成绩管理系统.docx
《VB课程设计学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《VB课程设计学生成绩管理系统.docx(28页珍藏版)》请在冰豆网上搜索。
VB课程设计学生成绩管理系统
一.课程设计题目
学生成绩管理系统
二.功能描述
系统主要由四部分组成:
系统用户的管理、学生成绩的管理、学生信息的管理、,学生成绩信息的统计,其中还包括登录界面等模块。
各模块的主要功能如下:
(1).系统用户的管理:
实现用户的添加、删除和密码的修改
(3).学生成绩的管理:
实现学生成绩的录入,查询,删除和修改。
(4).学生成绩信息的统计:
实现学生男女生人数以及不及格人数的统计。
(2).学生信息的管理:
实现学生学籍信息的添加,查询、删除和修改。
三.概要设计
对上述各项功能进行集中、分块,按照结构化层序设计的要求,得到如图1所示的系统功能模块图。
图1系统功能模块图
四.数据库设计
数据库在本成绩管理系统中占有非常重要的地位,数据库结构的好坏将直接对应用系统的效率以及实现的效率产生影响。
合理的数据库及结构设计可以提高数据存储的效率,保证数据的完整和一致。
同时合理的数据库结构也将有利于程序的实现。
设计本系统的数据库应该充分满足用户的需求。
针对一般学生管理系统的需求,通过对学生学习过程的内容的分析,设计如下面所示的数据项和数据结构。
(1)基本信息表:
包括的字段有:
学号,姓名,性别,年龄,联系电话,家庭住址。
表1基本信息表
字段名称
数据类型
字段大小
学号
文本
10
姓名
文本
10
性别
文本
2
年龄
数字
2
联系电话
数字
50
班级
文本
50
家庭住址
文本
50
(2)成绩表:
包括的字段有:
学号,姓名,性别,班级,高数成绩,英语成绩,计算机成绩。
表2成绩表
字段名称
数据类型
字段大小
学号
文本
10
姓名
文本
10
性别
文本
2
班级
文本
10
高数成绩
数字
20
英语成绩
数字
20
计算机成绩
数字
20
(3),学生密码表:
包括的字段有:
用户名,密码。
表3密码表
字段名称
数据类型
字段大小
用户名
文本
10
密码
文本
10
(4)教师密码表:
包括的字段有:
用户名,密码。
表4教师密码表
字段名称
数据类型
字段大小
用户名
文本
10
密码
文本
10
五.详细设计
系统主要由五部分组成:
系统用户的管理、学生成绩的管理、学生信息的管理、信息的查询,其中还包括登录界面以及成绩的统计模块。
各模块的主要功能如下:
1.系统用户的管理:
实现用户的添加、删除和密码的修改。
通过.Hide对象方法隐藏原有窗体界面,通过.Show对象方法显示所要用到的窗体界面。
2.学生信息的管理:
通过创建数据库,连接数据库,调用数据库及Data控件Adodc控件,MSHFlexGrid控件的使用来实现学生信息的添加,查询,删除和修改。
3.学生成绩的管理:
通过创建数据库,连接数据库,调用数据库以及Data控件Adodc控件,MSHFlexGrid控件的使用来实现学生成绩的录入,查询,删除和修改。
4.学生成绩信息的统计:
实现学生男女生人数以及不及格人数的统计
六.效果及存在问题
(1),登陆界面:
选择用户类型,可选择教师,学生,分别进入不同界面。
功能截图如图2所示:
图2登陆界面
(2),学生登陆:
输入学号,输入学生密码,单击确定即进入学生界面如图3所示:
图3学生登录
(3),学生密码修改:
输入学生新密码。
再次输入学生新密码,单击确定按钮,修改学生密码,功能截图如图4所示:
图4修改密码
(4),主窗体界面:
系统用户的管理:
包括用户的添加、删除和密码的修改;学生信息的管理:
包括学生信息的添加,查询、删除和修改;学生成绩的管理:
包括学生成绩的录入,查询,删除和修改;学生成绩信息的统计:
包括学生男女生人数以及不及格人数的统计。
功能截图如图5所示:
图5主界面
(6),成绩查询:
输入学生学号,单击查询按钮,查询学生成绩。
功能截图如图6所示:
图6成绩查询
七.结论或心得体会
设计之前由于数据库知识的空白,使得我们毫无头绪,无从下去手,只是盲目的按照课本和参考资料进行设计和编程,没有动脑子思考,也没有进行结构的规划,使得我们的程序进行到一半时夭折,那时候我们就开始意识到,不应该盲目,我们认真地看了课本,有了数据库的思想和思路,自己又重新规划了系统的结构,但是由于时间的关系,我们错过了中期检查,但是我们并没有气馁,而是更加热情地的投入到系统的设计中,但我们又出现了新问题,我和另一个男生本来分工合作的,可是我们的窗体总是衔接不上,而且数据库也不同,而我们又都想尝试一下其他窗体的创建,获得更多的知识,于是我们最终各自完成了各自的管理系统。
这次课程设计实习我流的汗和泪,都是以成功的完成课程设计任务为收获的。
不断的调试,使我认识即时丁点的错误也可以导致系统的非正常运行,细节决定成败。
我只有在以后的学习之路上做到一丝不苟,才能获得成功.
面对新的问题,以前的我会觉的十分畏惧,可通过这次实习,我发现自己变得勇敢,积极地从正面面对问题,认真地查阅资料、动手实践、和同学交流,问题便能解决。
此次实习培养了我自主学习和动手实践能力,让我体会到完成任务的成就感和喜悦。
八.参考文献
1.刘天惠等.VisualBasic程序设计教程,清华大学出版社.2006.2
2.李春葆等.Access2003程序设计教程(第2版),清华大学出版社.2007.1
3.范立南等.SQLServer2000实用教程,清华大学出版社.2005.2
4.张宏等.30天学通VisualBasic项目案例开发,电子工业出版社.2009.7
5.龚沛曾等.VisualBasic程序设计教程,高等教育出版社.2005.2
6.蒋加伏等.VisualBasic程序设计教程,北京邮电大学出版社.2004.1
7.张路平等.VisualBasic6.0编程案例精解,电子工业出版社.2004.3
8.谭小丹.VisualBasic6.0数据库编程思想与实践,冶金工业出版社.2005.6
9.周国民.VisualBasic+Access数据库项目开发实践,中国铁道出版社.2006.5
附录:
各功能程序代码
PrivateSubCommand1_Click()
dl.Hide
xsdl.Show
EndSub
PrivateSubCommand2_Click()
dl.Hide
jsdl.Show
EndSub
PrivateSubForm_Load()
Label1.Width=dl.ScaleWidth
Label1.Left=dl.ScaleWidth
EndSub
PrivateSubTimer1_Timer()
IfLabel1.Left+Label1.Width>=0Then
Label1.Left=Label1.Left-50
Else
Label1.Left=dl.ScaleWidth
EndIf
EndSub
PrivateSubCommand1_Click()
UserName=""
IfTrim(Text1.Text)=""Then
MsgBox"用户名不能为空,请重新输入!
",vbOKOnly+vbExclamation,"警告"
Text1.SetFocus
Else
Data1.RecordSource="select*frommmbwhereyhm='"&Text1.Text&"'andmm='"&Text2.Text&"'"
Data1.Refresh
IfData1.Recordset.BOF=TrueAndData1.Recordset.EOF=TrueThen
MsgBox"用户名或密码输入错误,请重新输入!
",vbOKOnly+vbExclamation,"警告"
Text1.SetFocus
Text2.SetFocus
Else
UserName=Text1.Text
Text2.Text=""
Me.Hide
Form4.Show
EndIf
EndIf
EndSub
PrivateSubCommand2_Click()
Text1.Text=""
Text2.Text=""
EndSub
PrivateSubTimer1_Timer()
IfLabel1.Left+Label1.Width>=0Then
Label1.Left=Label1.Left-50
Else
Label1.Left=dl.ScaleWidth
EndIf
EndSub
PrivateSubCommand1_Click()
UserName=""
IfTrim(Text1.Text)=""Then
MsgBox"用户名不能为空,请重新输入!
",vbOKOnly+vbExclamation,"警告"
Text1.SetFocus
Else
Data1.RecordSource="select*fromjsmmbwhere用户名='"&Text1.Text&"'andmm='"&Text2.Text&"'"
Data1.Refresh
IfData1.Recordset.BOF=TrueAndData1.Recordset.EOF=TrueThen
MsgBox"用户名或密码输入错误,请重新输入!
",vbOKOnly+vbExclamation,"警告"
Text1.SetFocus
Text2.SetFocus
Else
UserName=Text1.Text
Me.Hide
main.Show
EndIf
EndIf
EndSub
PrivateSubCommand2_Click()
Text2.Text=""
Text3.Text=""
EndSub
PrivateSubTimer1_Timer()
IfLabel3.Left+Label3.Width>=0Then
Label3.Left=Label3.Left-50
Else
Label3.Left=jsdl.ScaleWidth
EndIf
EndSub
PrivateSubForm_Load()
Label3.Width=jsdl.ScaleWidth
Label3.Left=jsdl.ScaleWidth
EndSub
PrivateSubCommand1_Click()
End
EndSub
PrivateSubCommand2_Click()
Me.Hide
xiugaimima.Show
EndSub
PrivateSubForm_Load()
Data1.RecordSource="select*fromcjbwherexh='"&xsdl.Text1.Text&"'"
Data1.Refresh
EndSub
PrivateSubCommand1_Click()
IfTrim(Text1.Text)<>Trim(Text2.Text)Then
MsgBox"密码输入不正确!
",vbOKOnly+vbExclamation,"信息提示"
Text1.SetFocus
Text1.Text=""
Else
Data1.RecordSource="select*frommmbwhereyhm='"&xsdl.Text1.Text&"'"
Data1.Refresh
Data1.Recordset.Edit
Data1.Recordset.Fields("mm")=Text1.Text
Data1.Recordset.Update
MsgBox"密码修改成功!
",vbOKOnly+vbExclamation,"修改密码"
EndIf
EndSub
PrivateSubCommand2_Click()
Text1.Text=""
Text2.Text=""
EndSub
PrivateSubCommand3_Click()
Me.Hide
Form4.Show
EndSub
PrivateSubtcxt_Click()
End
EndSub
PrivateSubtjyh_Click()
Me.Hide
tianjiayonghu.Show
EndSub
PrivateSubxgmm_Click()
Me.Hide
jiaoshimimaxiugai.Show
EndSub
PrivateSubxmtj_Click()
Me.Hide
xiangmutongji.Show
EndSub
PrivateSubxxcx_Click()
Me.Hide
xinxichaxun.Show
EndSub
PrivateSubxxtj_Click()
Me.Hide
xueshengxinxitianjia.Show
EndSub
PrivateSubxxxg_Click()
Me.Hide
xinxixiugai.Show
EndSub
PrivateSubcjcx_Click()
main.Hide
chengjichaxun.Show
EndSub
PrivateSubcjlr_Click()
Me.Hide
chengjiluru.Show
EndSub
PrivateSubcjxg_Click()
Me.Hide
chengjixiugai.Show
EndSub
PrivateSubCommand1_Click()
IfTrim(Text1.Text)=""Then
MsgBox"请输入用户名!
",vbOKOnly+vbExclamation,"信息提示"
Text1.SetFocus
ExitSub
Else
Data1.RecordSource="select*fromjsmmbwhereyhm='"&Text1.Text&"'"
Data1.Refresh
IfNotData1.Recordset.EOFThen
MsgBox"用户已存在,请重新输入用户名!
",vbOKOnly+vbExclamation,"提示信息"
Text1.SetFocus
Text1.Text="":
Text2.Text="":
Text3.Text=""
ExitSub
EndIf
EndIf
IfTrim(Text2.Text)<>Trim(Text3.Text)Then
MsgBox"两次输入的密码不一样,请确认!
",vbOKOnly+vbExclamation,"警告"
Text2.SetFocus
Text2.Text=""
Text3.Text=""
ExitSub
Else
WithData1
.Recordset.AddNew
.Recordset.Fields(0)=Trim(Text1.Text)
.Recordset.Fields
(1)=Trim(Text2.Text)
.Recordset.Update
EndWith
MsgBox"添加用户成功!
",vbOKOnly+vbExclamation,"添加用户"
EndIf
EndSub
PrivateSubCommand2_Click()
Text1.Text=""
Text2.Text=""
Text3.Text=""
EndSub
PrivateSubCommand3_Click()
Me.Hide
main.Show
EndSub
PrivateSubCommand1_Click()
IfTrim(Text1.Text)<>Trim(Text2.Text)Then
MsgBox"密码输入不正确!
",vbOKOnly+vbExclamation,"信息提示"
Text1.SetFocus
Text1.Text=""
Else
Data1.RecordSource="select*frommmbwhereyhm='"&xsdl.Text1.Text&"'"
Data1.Refresh
Data1.Recordset.Edit
Data1.Recordset.Fields("mm")=Text1.Text
Data1.Recordset.Update
MsgBox"密码修改成功!
",vbOKOnly+vbExclamation,"修改密码"
EndIf
EndSub
PrivateSubCommand2_Click()
Text1.Text=""
Text2.Text=""
EndSub
PrivateSubCommand3_Click()
Me.Hide
Form4.Show
EndSub
PrivateSubCommand1_Click()
IfText2.Text=""OrText3.Text=""Then
MsgBox"学号和姓名不能为空!
",vbOKOnly+vbExclamation,"警告"
ExitSub
Else
Data1.RecordSource="select*fromxsxxbwherexh='"&Trim(Text2.Text)&"'"
Data1.Refresh
IfData1.Recordset.BOF=FalseAndData1.Recordset.EOF=FalseThen
MsgBox"输入的学号已经存在,请重新输入!
",vbOKOnly+vbExclamation,"警告"
Text2.Text=""
Text3.Text=""
Text2.SetFocus
Else
Data1.Recordset.AddNew
Data1.Recordset.Fields(0)=Text2.Text
Data1.Recordset.Fields
(1)=Text3.Text
Data1.Recordset.Fields
(2)=text4.Text
Data1.Recordset.Fields(3)=Text5.Text
Data1.Recordset.Fields(4)=Text6.Text
Data1.Recordset.Fields(5)=Text7.Text
Data1.Recordset.Fields(6)=Text8.Text
Data1.Recordset.Update
MsgBox"添加成功!
"
Data2.RecordSource="select*fromcjbwherexh='"&Trim(Text2.Text)&"'"
Data2.Refresh
Data3.RecordSource="select*frommmbwhereyhm='"&Trim(Text2.Text)&"'"
Data3.Refresh
Data2.Recordset.AddNew
Data2.Recordset.Fields(0)=Text2.Text
Data2.Recordset.Fields
(1)=Text3.Text
Data2.Recordset.Update
Data3.Recordset.AddNew
Data3.Recordset.Fields(0)=Text2.Text
Data3.Recordset.Fields
(1)=Text2.Text
Data3.Recordset.Update
EndIf
EndIf
EndSub
PrivateSubCommand2_Click()
Me.Hide
main.Show
EndSub
PrivateSubCommand1_Click()
IfText1.Text=""Then
MsgBox"请输入内容!
"
Else
Data1.Recordset.Edit
Data1.Recordset.Fields(0)=Text2.Text
Data1.Recordset.Fields
(1)=Text3.Text
Data1.Recordset.Fields
(2)=text4.Text
Data1.Recordset.Fields(3)=Text5.Text
Data1.Recordset.Fields(4)=Text6.Text
Data1.Recordset.Fields(5)=Text7.Text
Data1.Recordset.Fields(6)=Text8.Text
Text9.Text=Str((Val(Text6.Text)+Val(Text8.Text)+Val(Text7.Text))/3)
Data1.Recordset.Fields(7)=Text9.Text
Data1.Recordset.Update
MsgBox"修改成功"
EndIf
EndSub
PrivateSubCommand10_Click()
IfTrim(Text1.Text)=""Then
MsgBox"学号不能为空,请重新输入!
",vbOKOnly+vbExclamation,"警告"
Text1.SetFocus
Else
Data1.RecordSource="select*fromcjbwherexh='"&Text1.Text&"'"
Data1.Refresh
IfData1.Recordset.EOFThen
MsgBox"学号不存在,请重新输入!
",vbOKOnly+vbExclamation,"警告"
Text1.SetFocus
Text1.Text=""
Text2.Text=""
Text3.Text=""
text4.Text=""
Text5.Text=""
Text6.Text=""
Text7.Text=""
Text8.Text=""
Text9.Text=""
Else
Text2.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 课程设计 学生 成绩管理系统