




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计说明书 NO.28学生成绩管理系统1. 课程设计的目的进一步培养学生综合应用Visual Basic的各种编程知识和技巧进行程序设计的能力。通过课程设计,学生能达到具备设计功能较为复杂的Windows应用程序的能力。同时,通过课程设计,培养学生自主学习和独立创新的精神,是人才培养体系中极为重要的一环。从大的方面来讲,现在我国的部分高中及其以下级别的大部分中学,学生成绩的管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。我选择这个题目,希望可以在信息管理方面有所提高。改革的总设计师邓小平同志说过“科学技术是第一生产力”,我希望能用我一年的所学编制出一个实用的程序来帮助学校进行更有效的信息管理。从小的方面来说,我感觉这个题目和我的学校生活密切相关,我也比较熟悉该系统,更容易学到对于我vb语言学习有用的知识。2.功能描述系统开发的总任务是实现学生信息关系的系统化、规范化和自动化。系统主要由五部分组成:系统用户的管理、学生成绩的管理、学生学籍信息的管理、信息的查询,其中还包括登录界面以及成绩的统计模块。各模块的主要功能如下:系统用户的管理:实现用户的添加、删除和密码的修改学生学籍信息的管理:实现学生学籍信息的添加、删除和修改。学生成绩的管理:实现学生成绩的录入,删除和修改。学生信息的查询:实现学生学籍的查询、成绩的查询。 学生成绩信息的统计:实现学生男女生人数以及不及格人数的统计。3. 概要设计3.1系统模块结构图图1.系统结构图小型成绩管理系统系统管理成绩管理学生信息统计信息添加用户修改密码退出系统成绩录入成绩修改成绩查询信息查询信息修改信息添加项目统计3.2数据库设计数据库在本成绩管理系统中占有非常重要的地位,数据库结构的好坏将直接对应用系统的效率以及实现的效率产生影响。合理的数据库及结构设计可以提高数据存储的效率,保证数据的完整和一致。同时合理的数据库结构也将有利于程序的实现。设计本系统的数据库应该充分满足用户的需求。针对一般学生管理系统的需求,通过对学生学习过程的内容的分析,设计如下面所示的数据项和数据结构l 基本信息表:包括的字段有:学号,姓名,性别,年龄,联系电话,家庭住址。l 成绩表: 包括的字段有: 学号,姓名,性别,年龄,高数成绩,英语成绩,计算机成绩,平均成绩。l 密码表: 包括的字段有: 用户名,密码。l 教师密码表:包括的字段有:用户名,密码。得到上面的数据项就可以设计出能够满足用户需求的各种实体以及他们之间的关系。由上面的设计规划出的实体有:用户实体、信息实体、成绩实体。按照以上实体进行设计:(1)打开可视化数据管理器程序(2)建立数据库(3)创建数据库表(4)添加字段(5)生成表 添加内容字段名称数据类型字段大小学号文本10姓名文本10性别文本2年龄数字2联系电话数字50班级文本50家庭住址文本50表1.基本信息表4详细设计4.1.1登入界面实现第一个登陆界面选择用户类型,分为教师和学生。具体图形及相关代码如下所示:核心代码:Private Sub Command1_Click()dl.Hidexsdl.Show End SubPrivate Sub Command2_Click()dl.Hidejsdl.Show End SubPrivate Sub Form_Load()Label1.Width = dl.ScaleWidthLabel1.Left = dl.ScaleWidth End SubPrivate Sub Timer1_Timer()If Label1.Left + Label1.Width = 0 ThenLabel1.Left = Label1.Left - 50ElseLabel1.Left = dl.ScaleWidth End IfEnd Sub4.1.2学生登陆界面核心代码如下:Private Sub Command1_Click()UserName = If Trim(Text1.Text) = ThenMsgBox 用户名不能为空,请重新输入!, vbOKOnly + vbExclamation, 警告 Text1.SetFocusElseData1.RecordSource = select * from 密码表 where 用户名= & Text1.Text & and 密码= & Text2.Text & Data1.Refresh If Data1.Recordset.BOF = True And Data1.Recordset.EOF = True ThenMsgBox 用户名或密码输入错误,请重新输入!, vbOKOnly + vbExclamation, 警告Text1.SetFocusText2.SetFocus ElseUserName = Text1.TextText2.Text = Me.HideForm4.Show End IfEnd IfEnd SubPrivate Sub Command2_Click()Text1.Text = Text2.Text = End Sub Private Sub Timer1_Timer()If Label1.Left + Label1.Width = 0 ThenLabel1.Left = Label1.Left - 50ElseLabel1.Left = dl.ScaleWidth End IfEnd Sub4.1.3教师登陆界面:核心代码如下所示;该界面代码与上个界面基本一致。Private Sub Command1_Click()UserName = If Trim(Text1.Text) = ThenMsgBox 用户名不能为空,请重新输入!, vbOKOnly + vbExclamation, 警告Text1.SetFocusElseData1.RecordSource = select * from 教师密码表 where 用户名= & Text1.Text & and 密码= & Text2.Text & Data1.RefreshIf Data1.Recordset.BOF = True And Data1.Recordset.EOF = True ThenMsgBox 用户名或密码输入错误,请重新输入!, vbOKOnly + vbExclamation, 警告Text1.SetFocusText2.SetFocusElseUserName = Text1.TextMe.Hidemain.ShowEnd IfEnd IfEnd SubPrivate Sub Command2_Click()Text2.Text = Text3.Text = End SubPrivate Sub Timer1_Timer()If Label3.Left + Label3.Width = 0 ThenLabel3.Left = Label3.Left - 50ElseLabel3.Left = jsdl.ScaleWidthEnd IfEnd SubPrivate Sub Form_Load()Label3.Width = jsdl.ScaleWidthLabel3.Left = jsdl.ScaleWidthEnd Sub4.1.4学生成绩查询界面:使用一个data控件,一个MSFlexgrid控件,两个命令按钮。代码如下:Private Sub Command1_Click()EndEnd Sub Private Sub Command2_Click()Me.Hidexiugaimima.Show End SubPrivate Sub Form_Load()Data1.RecordSource = select * from 成绩表 where 学号= & xsdl.Text1.Text & Data1.RefreshEnd Sub 4.1.5学生密码修改界面:代码如下:Private Sub Command1_Click()If Trim(Text1.Text) Trim(Text2.Text) ThenMsgBox 密码输入不正确!, vbOKOnly + vbExclamation, 信息提示Text1.SetFocusText1.Text = ElseData1.RecordSource = select * from 密码表 where 用户名= & xsdl.Text1.Text & Data1.RefreshData1.Recordset.EditData1.Recordset.Fields(密码) = Text1.TextData1.Recordset.UpdateMsgBox 密码修改成功!, vbOKOnly + vbExclamation, 修改密码End If End SubPrivate Sub Command2_Click()Text1.Text = Text2.Text = End Sub Private Sub Command3_Click()Me.HideForm4.Show End Sub4.1.6主窗体界面:代码如下:Private Sub tcxt_Click()End End SubPrivate Sub tjyh_Click()Me.Hidetianjiayonghu.Show End SubPrivate Sub xgmm_Click()Me.Hidejiaoshimimaxiugai.Show End SubPrivate Sub xmtj_Click()Me.Hidexiangmutongji.Show End SubPrivate Sub xxcx_Click()Me.Hidexinxichaxun.ShowEnd SubPrivate Sub xxtj_Click()Me.Hidexueshengxinxitianjia.Show End SubPrivate Sub xxxg_Click()Me.Hidexinxixiugai.Show End SubPrivate Sub cjcx_Click()main.Hidechengjichaxun.Show End Sub Private Sub cjlr_Click()Me.Hidechengjiluru.ShowEnd Subv Private Sub cjxg_Click() Me.Hidechengjixiugai.Show End Sub4.1.7添加用户界面:代码如下:Private Sub Command1_Click()If Trim(Text1.Text) = ThenMsgBox 请输入用户名!, vbOKOnly + vbExclamation, 信息提示Text1.SetFocus Exit SubElseData1.RecordSource = select * from 教师密码表 where 用户名= & Text1.Text & Data1.RefreshIf Not Data1.Recordset.EOF ThenMsgBox 用户已存在,请重新输入用户名!, vbOKOnly + vbExclamation, 提示信息Text1.SetFocusText1.Text = : Text2.Text = : Text3.Text = Exit SubEnd IfEnd If If Trim(Text2.Text) Trim(Text3.Text) ThenMsgBox 两次输入的密码不一样,请确认!, vbOKOnly + vbExclamation, 警告Text2.SetFocusText2.Text = Text3.Text = Exit SubElseWith Data1.Recordset.AddNew.Recordset.Fields(0) = Trim(Text1.Text).Recordset.Fields(1) = Trim(Text2.Text).Recordset.UpdateEnd WithMsgBox 添加用户成功!, vbOKOnly + vbExclamation, 添加用户End IfEnd Sub Private Sub Command2_Click()Text1.Text = Text2.Text = Text3.Text = End SubPrivate Sub Command3_Click()Me.Hidemain.Show End Sub4.1.8修改密码界面:代码如下:Private Sub Command1_Click()If Trim(Text1.Text) Trim(Text2.Text) ThenMsgBox 密码输入不正确!, vbOKOnly + vbExclamation, 信息提示Text1.SetFocusText1.Text = ElseData1.RecordSource = select * from 密码表 where 用户名= & xsdl.Text1.Text & Data1.RefreshData1.Recordset.EditData1.Recordset.Fields(密码) = Text1.TextData1.Recordset.Update MsgBox 密码修改成功!, vbOKOnly + vbExclamation, 修改密码End IfEnd Sub Private Sub Command2_Click()Text1.Text = Text2.Text = End Sub Private Sub Command3_Click()Me.HideForm4.ShowEnd Sub 4.1.9添加学生信息界面:代码如下:Private Sub Command1_Click()If Text2.Text = Or Text3.Text = ThenMsgBox 学号和姓名不能为空!, vbOKOnly + vbExclamation, 警告Exit Sub ElseData1.RecordSource = select * from 基本信息表 where 学号= & Trim(Text2.Text) & Data1.RefreshIf Data1.Recordset.BOF = False And Data1.Recordset.EOF = False ThenMsgBox 输入的学号已经存在,请重新输入!, vbOKOnly + vbExclamation, 警告Text2.Text = Text3.Text = Text2.SetFocus ElseData1.Recordset.AddNewData1.Recordset.Fields(0) = Text2.TextData1.Recordset.Fields(1) = Text3.TextData1.Recordset.Fields(2) = text4.TextData1.Recordset.Fields(3) = Text5.TextData1.Recordset.Fields(4) = Text6.TextData1.Recordset.Fields(5) = Text7.TextData1.Recordset.Fields(6) = Text8.TextData1.Recordset.UpdateMsgBox 添加成功! Data2.RecordSource = select * from 成绩表 where 学号= & Trim(Text2.Text) & Data2.RefreshData3.RecordSource = select * from 密码表 where 用户名= & Trim(Text2.Text) & Data3.RefreshData2.Recordset.AddNewData2.Recordset.Fields(0) = Text2.TextData2.Recordset.Fields(1) = Text3.TextData2.Recordset.UpdateData3.Recordset.AddNewData3.Recordset.Fields(0) = Text2.TextData3.Recordset.Fields(1) = Text2.TextData3.Recordset.UpdateEnd If End IfEnd SubPrivate Sub Command2_Click()Me.Hidemain.ShowEnd Sub 4.2.0修改学生信息界面: 代码如下: Private Sub Command1_Click()If Text1.Text = ThenMsgBox 请输入内容!Else Data1.Recordset.EditData1.Recordset.Fields(0) = Text2.TextData1.Recordset.Fields(1) = Text3.TextData1.Recordset.Fields(2) = text4.TextData1.Recordset.Fields(3) = Text5.TextData1.Recordset.Fields(4) = Text6.TextData1.Recordset.Fields(5) = Text7.TextData1.Recordset.Fields(6) = Text8.TextText9.Text = Str(Val(Text6.Text) + Val(Text8.Text) + Val(Text7.Text) / 3)Data1.Recordset.Fields(7) = Text9.TextData1.Recordset.UpdateMsgBox 修改成功 End IfEnd SubPrivate Sub Command10_Click()If Trim(Text1.Text) = ThenMsgBox 学号不能为空,请重新输入!, vbOKOnly + vbExclamation, 警告Text1.SetFocusElse Data1.RecordSource = select * from 成绩表 where 学号= & Text1.Text & Data1.RefreshIf Data1.Recordset.EOF ThenMsgBox 学号不存在,请重新输入!, vbOKOnly + vbExclamation, 警告Text1.SetFocusText1.Text = Text2.Text = Text3.Text = text4.Text = Text5.Text = Text6.Text = Text7.Text = Text8.Text = Text9.Text = Else Text2.Text = Data1.Recordset.Fields(0) Text3.Text = Data1.Recordset.Fields(1) text4.Text = Data1.Recordset.Fields(2) Text5.Text = Data1.Recordset.Fields(3) Text6.Text = Data1.Recordset.Fields(4) Text7.Text = Data1.Recordset.Fields(5) Text8.Text = Data1.Recordset.Fields(6)End If End IfEnd SubPrivate Sub Command2_Click()Me.Hidemain.ShowEnd Sub Private Sub Command3_Click()If Text1.Text = ThenMsgBox 请输入内容!Else mybookmark = Data1.Recordset.BookmarkStr2$ = MsgBox(是否删除当前记录?, vbOKCancel, 删除当前记录)If Str2$ = vbOK Then Data1.Recordset.Delete Data1.RefreshText1.Text = Text2.Text = Text3.Text = text4.Text = Text5.Text = Text6.Text = Text7.Text = Text8.Text = Text9.Text = End IfEnd If End Sub4.2.1学生信息查询界面:代码如下:Private Sub Command1_Click()If Combo1.Text = 按学号 ThenData1.RecordSource = select * from 基本信息表 where 学号= & Text1.Text & Data1.RefreshElseData1.RecordSource = select * from 基本信息表 where 姓名= & Text1.Text & Data1.RefreshEnd If If Text1.Text = ThenData1.RecordSource = select * from 基本信息表 Data1.RefreshEnd IfEnd Sub Private Sub Command2_Click()Me.Hidemain.Show 4.2.2学生成绩录入界面:代码如下:Private Sub Command1_Click()If Text2.Text = Or Text3.Text = Or text4.Text = Or Text5.Text = Or Text7.Text = Or Text8.Text = Or Text9.Text = ThenMsgBox 内容不能为空,请重新输入!Else Data1.Recordset.EditData1.Recordset.Fields(0) = Text2.TextData1.Recordset.Fields(1) = Text3.TextData1.Recordset.Fields(2) = text4.TextData1.Recordset.Fields(3) = Val(Text5.Text)Data1.Recordset.Fields(4) = Val(Text7.Text)Data1.Recordset.Fields(5) = Val(Text8.Text)Data1.Recordset.Fields(6) = Val(Text9.Text)Text1.Text = Str(Val(Text7.Text) + Val(Text8.Text) + Val(Text9.Text) / 3)Data1.Recordset.Fields(7) = Text1.TextData1.Recordset.UpdateMsgBox 添加成功! End IfText2.Text = : Text3.Text = : text4.Text = : Text5.Text = : Text7.Text = : Text8.Text = : Text9.Text = End Sub Private Sub Command2_Click()Me.Hidemain.ShowEnd Sub Private Sub Command3_Click()Data1.Recordset.MoveFirstEnd Sub Private Sub Command4_Click()Data1.Recordset.MovePreviousIf Data1.Recordset.BOF ThenData1.Recordset.MoveFirst End IfEnd SubPrivate Sub Command5_Click()Data1.Recordset.MoveNextIf Data1.Recordset.EOF ThenData1.Recordset.MoveLastEnd If End SubPrivate Sub Command6_Click()Data1.Recordset.MoveLastEnd Sub 4.2.3成绩修改界面:代码如下:Private Sub Command1_Click()If Text1.Text = ThenMsgBox 请输入内容!Else Data1.Recordset.EditData1.Recordset.Fields(0) = Text2.TextData1.Recordset.Fields(1) = Text3.TextData1.Recordset.Fields(2) = text4.TextData1.Recordset.Fields(3) = Text5.TextData1.Recordset.Fields(4) = Text6.TextData1.Recordset.Fields(5) = Text7.TextData1.Recordset.Fields(6) = Text8.TextText9.Text = Str(Val(Text6.Text) + Val(Text8.Text) + Val(Text7.Text) / 3)Data1.Recordset.Fields(7) = Text9.TextData1.Recordset.UpdateMsgBox 修改成功 End IfEnd SubPrivate Sub Command10_Click()If Trim(Text1.Text) = ThenMsgBox 学号不能为空,请重新输入!, vbOKOnly + vbExclamation, 警告Text1.SetFocusElse Data1.RecordSource = select * from 成绩表 where 学号= & Text1.Text & Data1.RefreshIf Data1.Recordset.EOF ThenMsgBox 学号不存在,请重新输入!, vbOKOnly + vbExclamation, 警告Text1.SetFocusText1.Text = Text2.Text = Text3.Text = text4.Text = Text5.Text = Text6.Text = Text7.Text = Text8.Text = Text9.Text = Else Text2.Text = Data1.Recordset.Fields(0) Text3.Text = Data1.Recordset.Fields(1) text4.Text = Data1.Recordset.Fields(2) Text5.Text = Data1.Recordset.Fields(3) Text6.Text = Data1.Recordset.Fields(4) Text7.Text = Data1.Recordset.Fields(5) Text8.Text = Data1.Recordset.Fields(6)End IfEnd If End SubPrivate Sub Command2_Click()Me.Hidemain.ShowEnd Sub Private Sub Command3_Click()If Text1.Text = ThenMsgBox 请输入内容!Else mybookmark = Data1.Recordset.BookmarkStr2$ = MsgBox(是否删除当前记录?, vbOKCancel, 删除当前记录)If Str2$ = vbOK ThenData1.Recordset.Delete Data1.RefreshText1.Text = Text2.Text = Text3.Text = text4.Text = Text5.Text = Text6.Text = Text7.Text = Text8.Text = Text9.Text = End If End IfEnd Sub4.2.4成绩查询界面:代码如下:Private Sub Command1_Click()If Combo1.Text = 按学号 ThenData1.RecordSource = select * from 成绩表 where 学号= & Text1.Text & Data1.RefreshElseData1.RecordSource = select * from 成绩表 where 姓名= & Text1.Text & Data1.Refresh End IfIf Text1.Text = ThenData1.RecordSource = select *
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人货车租赁合同
- 肾病内科学诊疗进展与临床实践
- 2025年事业单位工勤技能-湖南-湖南地图绘制员四级(中级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-湖北-湖北热力运行工五级(初级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-湖北-湖北无损探伤工二级(技师)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-湖北-湖北仓库管理员五级(初级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-海南-海南机械热加工一级(高级技师)历年参考题库含答案解析
- 2025年事业单位工勤技能-海南-海南保育员二级(技师)历年参考题库含答案解析
- 2025-2030中国箱包面料市场运作模式及营销发展趋势预测报告
- 2025年绿色消费理念传播与消费者行为引导的绿色消费市场竞争力分析
- 2024年中考物理压轴题专项训练:电磁继电器核心综合练(原卷版)
- 矿山事故应急报告制度
- 2024-2025学年山东省淄博市桓台县四年级上学期数学期中考试试题
- DB1402T36-2024农村居家养老服务规范
- 中国发电企业碳中和数字转型白皮书-埃森哲
- ISO27001信息安全管理体系培训资料
- 《绝对值》教学课件
- Unit 6 Work quietly!(教学设计)2023-2024学年人教PEP版英语五年级下册
- 高考英语考纲词汇3500词(珍藏版)
- 制造业智能化生产线改造方案提升生产效率
- 人教版五年级上册美术全册教学设计
评论
0/150
提交评论