VB课程设计学生成绩管理系统单片机.docx
- 文档编号:11172048
- 上传时间:2023-02-25
- 格式:DOCX
- 页数:22
- 大小:203.08KB
VB课程设计学生成绩管理系统单片机.docx
《VB课程设计学生成绩管理系统单片机.docx》由会员分享,可在线阅读,更多相关《VB课程设计学生成绩管理系统单片机.docx(22页珍藏版)》请在冰豆网上搜索。
VB课程设计学生成绩管理系统单片机
VB课程设计
—学生成绩管理系统
姓名:
学号:
班级:
系别:
电子工程系
前言
随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。
管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。
本文介绍了在VisualBasic6.0环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发一个管理信息系统的过程。
通过分析学生成绩管理的不足,创建了一套行之有效的计算机管理学生的方案。
文章介绍了学生成绩管理信息系统的系统分析部分,包括可行性分析、业务流程分析等;系统设计部分主要介绍了系统功能设计和数据库设计及代码设计;系统实现部分说明了几个主要模块的算法,本系统面友好,操作简单,比较实用。
前言
几年的学习即将结束,经过几个月的努力,我所设计的“学生成绩管理系统”也已完成。
以往学的都是理论性很强的知识,再加上实践机会不多,更增强了我对计算机科学的兴趣。
在这段时间里,我增强了自己动手的能力,更重要的是似乎把握住了计算机的一些实质性的东西--终于能够用我所学的知识解决一些实际应用的问题了。
但我知道,数据库技术只是计算机科学的一个小小分支,计算机还有更广阔的领域有待我们去探索。
这次毕业设计是用VisulBasic语言设计的“学生成绩管理系统”,这就要求对VisulBasic语言及数据库技术能够真正了解和熟练的掌握,并且能够灵活的运用。
当今的时代是信息的时代,数据库技术是数据管理的最新方法,也是信息管理中一项非常重要的新技术,数据库管理是帮助人们处理大量信息,实现科学化和现代化的强有力工具,数据库管理子系统已发展成为通用的系统软件。
由于数据库具有数据结构化、最低冗余度、较高的程序独立性、易于扩充、易于编制应用程序等优点,因而是近年来发展非常迅猛的计算机软件。
数据库技术是数据信息管理技术的最新成果,被广泛应用于国民经济、文化教育、军事情报、科学计算、人工智能和计算机辅助设计领域,为计算机的应用开辟了广阔的天地。
第一章学生成绩管理系统
1.1需求分析
考试成绩是学生在校期间的重要历史资料,学生成绩信息的管理(成绩的录入、查询、分类统计等)是各个学校面临的一个重要问题。
该成绩管理系统主要是用于管理在校学生的考试成绩,对教、班级、学生、课程和成绩信息进行维护与管理。
本系统要求运行稳定,图形用户界面符合用户的日常使用习惯,数据处理正确无误。
1.1.1系统概述
学生成绩管理系统主要完成学生成绩的管理,包括:
(1)教师管理。
主要完成教师的添加、修改、删除和查询。
(2)班级管理。
主要完成班级的添加、修改、删除和班级列表。
(3)学生管理。
主要完成对学生信息的添加、修改、删除和查询。
(4)课程管理。
主要完成对课程信息的维护,包括课程添加、修改、删除和查询功能。
(5)成绩管理。
主要完成成绩的添加、删改和成绩杳询。
1.1.2功能需求描述
该系统的功能需求有如下几个方面:
(1)教师管理。
主要用于对教师信息进得维护。
功能包括新教师信息的添加、修改和删除已有的教师信息,对教师信息进行查询。
(2)班级管理。
主要用于对班级信息进行维护。
功能包括对班级信息的添加、删改和班级列表。
(3)学生管理。
主要用于维护学生信息。
功能包括对学生信息的添加、删改和查询。
(4)课程管理。
主要用于维护课程信息,功能包括课程的添加、删改和查询。
(5)成绩管理。
用于维护成绩信息,功能包括成绩的添加和查询。
第二章总体设计及流程图
上面的需求分析已经对系统的功能需求、环境需求做了较为明确的阐述。
根据上述需求,下面按照开发设计思想、功能模块、图形用户界面、数据库等方面阐述成绩管理系统的总体设计。
2.1开发与设计的总体思想
作为学校使用的成绩管理系统,能够满足成绩管理的基本功能需求,界面简单、操作简便是设计的一个重要考虑。
2.2系统模块结构图
2.2.1模块设计
图2-7主窗体菜单设计的效果图
1.教师管理菜单设计
(1)教师信息添加界面设计
教师信息添加界面使用文本框输入教师相关基本信息,使用组合列表框选择部门和性别。
单击添加按钮保存教师信息,单击返回按钮返回主菜单。
具体设计效果图如图2-8所示。
图2-8具体设计效果图
(2)教师信息修改删除界面设计
图2-9具体设计效果图
2.学生管理界面设计
(1)学生信息添加界面设计
学生信息添加界面使用文本框输入学生的姓名、学号、生日、电话、地址和备注信息。
同时使用了两个组合列表框,分别用于选择班级和性别。
组合列表框中的数据会在窗体加载的时候就进行初始化。
具体设计效果图如图1-11所示。
(2)学生信息删改界面设计
在学生信息删改界面中,在班级组合列表框中选择班级,该班级的所有学号会添加到学号组合列表框中,在学号组合列表框中选择学号,就会在下方显示该学生的基本信息。
根据需要单击修改按钮来修改学生信息,也可以单击删除按钮来删除该学生的信息,或是单击返回按钮返回主菜单。
具体设计效果图如图2-10所示。
图2-10具体设计效果图
(3)学生信息查询界面设计
学生信息查询办面提供了四种查询方式:
全部、按班级查询、按学号查询和按姓名查询。
提供了一个表格用于赤示查询结果。
3.课程管理界面设计
(1)课程信息添加界面设计
课程添加界面提供了文本框,用于输入课程名称、课程编号、课程学时数和学分等课程基本信息。
并且提供了两个组合列表框,分别用于选择课程类型和任课教师。
这两个组合列表框的数据是在加载窗体的时候进行初始化的。
(2)课程信息删改界面设计
课程信息删改界面提供了文本框,用于输入课程编号,单击查询按钮就会查找该课程编号所代表的课程信息,找到后将信息显示出来。
修改和删除按钮用于完成修改和删除操作。
具体设计效果图如图2-11所示。
图2-11具体设计效果图
4.成绩管理界面设计
(1)成绩录入界面设计
成绩界面使用文本框输入学生学号和课程成绩。
使用组合列表框选择课程编号。
使用表格显示查询结果。
使用两个文本框显示学生姓名和课程名称。
这两个文本框是不可编辑的。
具体设计效果图如图2-12所示。
图2-12具体设计效果图
(2)成绩删改界面设计
图2-13具体设计效果图
(3)成绩查询界面设计
成绩查询界面提供了三种查询方式:
按学号、按课程和按成绩查询。
使用表格显示查询结果。
2.2.3数据库设计
根据系统功能设计的要求以及功能模块的划分,数据库表结构设计如下。
1.学生信息表
名称:
学生信息表(见表2-1)
表名称标识:
studentInfo
数据来源:
学生管理模块进行录入。
2.教师信息表
名称:
教师信息表(见表2-2)
表名称标识:
teacherInfo
数据来源:
教师管理模块进行录入。
3.班级信息表
表2-3班级信息表
名称
字段名称
类型
主键
非空
班级编号
ClassNo
文本
Yes
Yes
班级名称
className
文本
No
Yes
4.部门信息表
表2-4部门信息表
名称
字段名称
类型
主键
非空
部门编号
Dept_no
文本
Yes
Yes
部门名称
Dept_name
文本
No
Yes
5.课程信息表
表2-5课程信息表
名称
字段名称
类型
主键
非空
序号
No
自动编号
Yes
Yes
课程编号
Course_no
文本
No
Yes
课程名称
Course_name
文本
No
Yes
课程类型
Course_type
文本
No
Yes
学时数
Course_hours
数字
No
Yes
学分
Score
数字
No
Yes
授课教师
Teacher
文本
No
Yes
6.成绩信息表
表2-6成绩信息表
名称
字段名称
类型
主键
非空
编号
No
自动编号
Yes
Yes
学号
Stu_no
文本
No
Yes
课程号
Course_no
文本
No
Yes
成绩
Score
数字
No
Yes
第三章详细设计
基于系统需求分析与系统总体设计的结论,本系统采用VisualBasic6.0实现各模块的功能,下面按照功能模块的划分来分别阐述系统的详细设计和实现过程。
3.1学生管理模块
1.功能描述
为用户提供学生信息的添加、修改、删除和查询界面,完成学生信息的添加、修改、删除和查询功能。
2.窗体和源文件定义
该功能模块涉及到的窗体名称和文件名参见表3-1。
表3-1窗体列表
窗体各称
窗体文件名
作用
frmStudent
frmStudent.frm
用于学生信息添加
frmUpdateStudent
frmUpdateStudent.frm
用于修改、删除学生信息
frmQueryStudent
frmQueryStudent.frm
用于查询学生信息
Module1
Module1.bas
用于定义全局变量和公用函数
3.2教师管理模块
1.功能描述
该模块提供教师信息的添加、修改、删除和查询界面,完成教师信息的添加、修改、删除和查询功能。
2.窗体和源文件定义
表3-3窗体列表
窗体名称
窗体文件名
作用
frmAddTeacher
frmAddTeacher.frm
用于教师信息添加
frmUpdateTeacher
frmUpdateTeacher.frm
用于修改、删除教师信息
frmQueryTeacher
frmQueryTeacher.frm
用于查询教师信息
3.变量声明
‘窗体模块中的声明
PublicsqlstrAsString
PublicmsgTextAsString
‘代码模块中的声明
PublicdbpathAsString
PublicconnStrAsString
4.函数与方法声明
表3-4主要函数与方法
窗体名称
函数/方法名
作用
frmAddTeacher
SubinitDepartment()
在组合列表框中列出所有部门名称
SubinitForm()
初始化窗体上的文本框和组合列表框
PrivatesubcmdOK_Click()
添加教师信息
frmUpdateTeacher
SubinitDepartment()
在组合列表框中列出所有部门名称
SubinitTeacherNo()
在组合列表框中列出所有教师编号
SubgetTeacherNo()
获取教师信息
PrivatesubcmdDelete_click()
删除教师信息
privatesubcmdUpdate_click()
修改教师信息
frmQueryTeacher
SubinitDepartment()
在组合列表框中列出所有部门名称
SubinitTitles()
在组合列表框中列出所有的职称
PrivatesubqueryTeacher()
查询教师信息
处理:
1)获取信息输入窗口中填写的数据。
2)执行查询得到结果集,然后调用结果集对象的addNew方法。
3)设置各个字段的值。
4)调用update方法更新结果集,完成教师信息添加。
输出:
将数据写入教师信息表
程序清单:
与学生信息添加代码类似,请参考本书提供的源代码。
(3)frmUpdateTeacher窗体:
privatesubcmdUpdate_Click()
功能:
主要用来完成教师信息的修改,将窗体上修改后的信息添加到数据库中。
输入:
教师信息删改窗体上输入的数据。
处理:
1)获取信息输入窗口中填写的数据并得到SQL语句。
2)执行SQL语句完成数据修改。
输出:
将修改后的数据写入教师信息表。
程序清单:
PrivatesubcmdUpdate_Click()
DimconnAsADODB.Connection
sqlStr=“UPDATEteacherInfoset[birthdate]=#”&txtBirth&“#,[department]=’”&cboDept(0).Text&“’,[telno]=’”&txtTel.Text&”’,[title]=’”&txtTitle.Text&”’”&“whereteacher_no=’”&txtNo.Text&“’”
onErrorGoToexitsub
setconn=NewADODB.Connection
conn.OpenconnStr
conn.Executesqlstr
MsgBox“成功修改数据!
!
”
Exitsub:
Conn.close
initDepartment
endsub
3.5成绩管理模块
1.功能描述
该模块提供成绩信息的录入、修改、删除和查询界面,完成成绩信息的录入、修改、删除和查询功能。
2.窗体和源文件定义
该功能模块涉及到的窗体名称和文件名参见表3-9。
表3-9窗体列表
窗体名称
窗体文件名
作用
frmAddScore
frmAddScore.frm
用于成绩信息添加
frmUpdateScore
frmUpdateScore.frm
用于修改、删除成绩信息
frmQueryScore
frmQueryscore.frm
用于查询成绩信息
3.变量声明
‘窗体模块中的声明
PublicsqlstrAsString
PublicmsgTextAsString
‘代码模块中的声明
PublicdbpathAsString
PublicconnStrAsString
4.函数与方法声明
表3-10主要函数与方法
窗体名称
函数/方法名
作用
frmAddScore
SubinitCourseNo()
在下拉列表框中显示所有课程号
PrivatesubtxtStuNo_KeyPress(KeyAsciiAsInteger)
文本框响应回车键,如果输入学号后回车,就会查找并显示学生姓名
PrivatesubcboCourseNo_Click()
在组合列表框中选择课程编号,触发click事件,查找显示课程名称
PrivatesubcmdOK_Click()
向数据库中添加成绩信息
frmUpdateScore
SubinitCourseNo()
在下拉列表框中显示所有课程号
SubgetScoreInfo()
从数据库中查找成绩信息
PrivatesubcmdUpdate_click()
修改成绩信息
PrivatesubcmdDelete_Click()
删除成绩信息
frmQueryScore
PrivatesubcmdOK_Click()
查询成绩
(1)frmAddScore窗体:
privatesubtxtStuNo_KeyPress(KeyAsciiAsInteger)
功能:
相应键盘事件,如果是回车键,则按学号查询学生姓名。
输入:
按键的ASCII码。
处理:
1)判断按键是否为回车键。
2)如果为回车键,刚转3,否则退出。
3)查询学生姓名并显示出来。
输出:
学生姓名。
程序清单:
PrivatesubtxtStuNo_keypress(keyAsciiAsInteger)
DimrstStudentAsADODB.Recordset
IfKeyAscii=13Then
sqlStr=“selectnamefromstudentInfo”
setrststudent=ExecuteSQL(sqlStr,msgText)
IfNotrstStudent.EOFThen
txtName=rstStudent.Fields(0)
Else
MsgBox“未找到学生的信息记录!
”,vbOKOnly+vbExclamation,“警告”
Exitsub
EndIf
rstStudent.Close
EndIf
Endsub
(2)frmAddScore窗体:
privatesubcmdOK_Click()
功能:
将窗体中的成绩信息添加到数据库中。
输入:
成绩添加窗体中填写的数据。
处理:
1)获取信息输入窗口中填写的数据。
2)执行查询得到结果集,然后调用结果集对象的addNew方法。
3)设置各个字段的值。
4)调用update方法更新结果集,完成成绩信息添加。
输出:
将成绩信息写入数据库。
程序清单:
Privatesubcmdok_click()
DimrstScoreAsADODB.Recordset
DimstuNoAsString
DimcourseNoAsString
DimscoreAsString
‘获取数据
stuNo=Trim(txtstuNo.Text)
courseNo=Trim(cboCourseNo.Text)
score=Trim(txtScore.Text)
IfstuNo=“”orscore=“”Then
MsgBox“请将信息补充完整”,vbOKOnly+vbExclamation,“警告”
Exitsub
EndIf
‘添加新记录
sqlStr=”select*fromscoreInfo”
setrstScore=ExecuteSQL(sqlStr,msgText)
rstScore.AddNew
rstScore.Fields(“stu_no”)=stuNo
rstScore.Fields(“course_no”)=courseNo
rstScore.Fields(“course_score”)=score
rstScore.Update
rstScore.Close
MsgBox“成绩信息添加完成!
”,vboOKOnly+vbExclamation,“警告”
initForm
Endsub
(3)frmUpdateScore窗体:
subgetScoreInfo()
功能:
根据课程编号和学号,从数据库中读取成绩信息、课程名和学生名。
输入:
课程编号和学号。
处理:
1)获取课程名称和学号,得到多表查询的SQL语句。
2)执行查询得到结果集。
3)从结果集中读取各个字段的值并显示出来。
输出:
学生姓名、课程名称、考试成绩。
程序清单:
SubgetScoreInfo()
DimrstScoreAsADODB.Recordset
‘从数据库中读取成绩相关信息并添加到窗体中的输入框
sqlStr=“selectname,course_name,coure_scorefrom
courseInfo,studentInfo,scoreInfo”&“wherescoreInfo.course_no=’”&cbocourseNo.text&“’”&“ANDscoreInfo.course_no=courseInfo.course_no”&“ANDscoreInfo.stu_no=studentInfo.stu_no”&“ANDscoreInfo.stu_no=’”&txtStuNo.Text&“’”
txtName=Trim(rstScore.Fields(“name”))
txtCourseName.Text=trim(rstScore.Fields(“dourse_name”))
txtScore.Text=Trim(rstScore.Fields(“course_score”))
Else
MsgBox“没找到符合条件的数据!
”,vbOKOnly+vbExclamation,“警告”
Exitsub
EndIf
rstScore.Close
Endsub
(4)frmQueryScore窗体:
privatesubcmdOk_Click()
功能:
根据查询条件查找成绩信息。
输入:
查询方式和关键字。
处理:
1)获取查询方式和输入的关键字。
2)形成SQL语句,执行SQL语句得到结果集。
3)从结果集中读取全部数据,并在表格中显示出来。
输出:
符合查询条件的课程成绩信息。
程序清单:
Dimsqlstr1AsString
Dimsqlcond1AsString
Dimsqlcond2AsString
Dimsqlcond3AsString
DimsignAsBoolean
Sqlcond1=“”
Sqlcond2=“”
Sqlcond3=“”
Sign=False
Sqlstr=”selectstudentInfo.stu_noasstuNo.studentInfo.nameasstuName,”_
&“courseInfo.course_nameascourseName,scoreInfo.course_scoreasscore”&_
“fromstudentInfo,courseInfo,scoreInfoWHERE”
‘检查是否已选择了查询条件
IfchkOp(0).value<>1AndchkOp91).value<>1AndchkOp
(2).value<>1Then
MsgBox“请选择查询条件!
!
!
”
Exitsub
Endif
‘获得子查询条件
IfchkOp(0).value=1Then
Sqlcond1=“studentInfo.stu_no=’”&Trim(txtstuNo.Text)&“’”
EndIf
IfchkOp
(1).value=1Then
Sqlcond2=“scoreInfo.course_no=’”&Trim(txtCourseNo.Text)&“’”
EndIf
IfchkOp
(2).value=1Then
IfcboOperator.Text<>“between”Then
Sqlcond3=“scoreInfo.course_score”&cboOperator.Text&Trim(txtscore1.Text)
Else
Sqlcond3=“scoreInfo.course_score”&cboOperator.Text&“”&Trim(txtScore1.Text)&“AND”&Trim(txtScore2.Text)
EndIf
EndIf
Ifsqlcond1<>“”Then
Sqlstr=sqlstr&sqlcond1
Sign=true
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 课程设计 学生 成绩管理系统 单片机