欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    VB学生成绩管理系统的设计与实现课程设计报告.doc

    • 资源ID:2389298       资源大小:2.58MB        全文页数:28页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    VB学生成绩管理系统的设计与实现课程设计报告.doc

    VB程序设计课程设计报告 班 级:资工10902 班 目 录1、课设的目的32、界面设计和功能设计33、系统功能实施124、系统功能设计195、总结和体会28一、课设的目的 1.通过本次课程设计,提高实践动手能力;2.通过本次课程设计,进一步理解计算机程序设计的思路与方法;3.通过本次课程设计,进一步熟练运用VB的语言元素和流程控制语句;4.通过本次课程设计,达到能熟练使用各种常见的VB控件,理解面向对象的思想;5.通过本次课程设计,熟悉用户界面的设计;6.通过本次课程设计,熟悉数据访问控件ADO及相关对象的使用,能基于ADO控件实现Access的数据访问与操纵; 二、界面设计和功能设计 1、下面的界面为用户登陆界面: 用户名和密码均已设定,用户名为zg,密码为10902,只有输入正确,然后点击“登陆“按钮才能进入主界面。如果用户名或密码三次输入错误,则系统自动退出。 当你点击“退出“按钮时,弹出一个对话窗,界面如下:在对话框上点击“是”按钮,则退出系统,如果点击“否”,则该界面不变。2、当用户名和密码均输入正确,点击“登陆”按钮,进入主界面“学生成绩管理系统”界面,该界面是其他子界面的入口,界面如下:3、进入主界面后,点击“学生管理(删除添加)”,进入学生管理界面,界面如下:该界面上有一个ADO控件,用于连接数据库,当用户在六个文本框中输入数据时,点击“添加“按钮,可以将数据录入到数据库中,如果此时点击”删除“按钮,则刚才输入的数据就会被删除,点击”保存“按钮时,输入的数据就会自动保存在数据库里,点击”返回主窗体“按钮,该窗体消失,主窗体出现。4、在主界面点击“各科成绩查询“按钮,出现如下界面:该界面有一个ADO控件,用来连接数据库,还有一个DataGrid控件,用来显示学生成绩的查询结果,当用户选择了要查询的科目和条件后,点击“查询“按钮,在DataGrid控件上就会显示出所查询的结果。下面为输入条件后查询的结果5、在主界面点击“姓名查询“按钮后,会出现如下界面:该界面与上一界面相似,在文本框输入要查询的姓名后,点击“查询“按钮,就会在DataGrid控件上显示所要查询的结果。下面为输入条件后查询的结果5、在主界面点击“班级查询“按钮后,会出现如下界面:在文版框中输入所要查询的班级,DataGrid控件上就会显示所要查询的结果。下面为输入条件后查询的结果6、在主界面上点击“各科成绩段查询“按钮后,会出现如下界面:点击“计算分数段统计“按钮后,就会出现所要查询的结果。下面为查询的结果7、在主界面点击“排名“按钮后,出现如下界面:在该界面上点击“排名“按钮后,在DataGrid控件上会显示出按成绩高低排名的结果,点击”清除排名“按钮后,刚才结果消失,显示原来结果。下面为所现实的结果8、在主界面点击“统计直方图“按钮后,出现如下界面:在该界面点击各个按钮后,就会出现与之相关科目的成绩统计直方图,下面为查询的结果 9、在主界面点击“优等生“按钮后,出现如下界面:点击按钮查询后,结果就会在界面上显示出来。下面为所查询的结果三、系统功能实施 以上展示的是系统的所有界面,怎样才能让这所有的功能实现呢?数据库和ADO控件的使用便是其中的关键。 1、建立如下数据库(学号、姓名、班级、英语、数学、VB、总分、排名)2、建立如下图的所有界面: 3、ADO控件和DataGrid控件以及数据库的连接步骤:(这一步在设计界面的同时完成)(1)、如何加载ADO控件:步骤1:步骤2:步骤3:各个界面的ADO控件如何连接数据库(分两步):步骤1: 如下面界面中的5个步骤步骤2:选中ADO控件Adodc1,点击鼠标右键选择属性,然后界面设置如下:控件绑定数据库的字段操作说明:属性设置说明:下面以学号为例,姓名、班级等都可参考此。将学号对应的文本框Text1连接Adodc1显示数据库中的学号,需要设置DataSource和DataField两个属性,首先选中Text1文本框,并进行下面的两步操作,即可绑定数据库的学号字段。设置DataSource:设置DataField:(2)、如何加载DataGrid控件控件DataGrid,可以实现数据的批量处理,该控件在控件库Microsoft DataGrid Control 6.0中。说明:DataGrid控件属性设置四、系统功能设计系统功能的设计,其核心就是程序代码的编写过程,如何让让系统更加完善、界面更加友好呢,这就得益于代码的编写。以下为各个界面所对应的代码该界面代码如下:Private Sub Command1_Click() If Text1.Text = "zg" And Text2.Text = "10902" Then mainfrm.Show dlfrm.Hide Else MsgBox "用户名或密码错误,请重新输入", vbMsgBoxSetForeground, "系统提示!" End If Static t As Integer t = t + 1 If t >= 3 Then EndEnd SubPrivate Sub Command2_Click()a = MsgBox("确定要退出本系统吗?", 3 + 32 + 256, "系统提示!")If a = 6 ThenUnload MeEnd IfEnd Sub 该界面代码如下: Private Sub Command1_Click() xsglfrm.ShowEnd SubPrivate Sub Command10_Click() ydsfrm.ShowEnd SubPrivate Sub Command3_Click() jszffrm.ShowEnd SubPrivate Sub Command4_Click() pmfrm.ShowEnd SubPrivate Sub Command5_Click() zftjtfrm.ShowEnd SubPrivate Sub Command6_Click() cjcxfrm.ShowEnd SubPrivate Sub Command7_Click() xmcxfrm.ShowEnd SubPrivate Sub Command8_Click() bjcxfrm.ShowEnd SubPrivate Sub Command9_Click() gkcjfrm.ShowEnd Sub该界面代码如下:Private Sub Command1_Click() Me.Adodc1.Recordset.AddNewEnd SubPrivate Sub Command2_Click() If Me.Adodc1.Recordset.RecordCount = 0 Or Me.Adodc1.Recordset.EOF Then Exit SubEnd IfMe.Adodc1.Recordset.DeleteMe.Adodc1.Recordset.MoveNextIf Me.Adodc1.Recordset.RecordCount = 0 Then Exit SubEnd IfIf Me.Adodc1.Recordset.EOF Then Me.Adodc1.Recordset.MoveLastEnd SubPrivate Sub Command4_Click() Me.Adodc1.Recordset.SaveEnd SubPrivate Sub Command5_Click() Unload Me mainfrm.ShowEnd Sub该界面代码如下:Dim kc_条件 As StringDim kc As StringPrivate Sub Command1_Click()kc_条件 = Me.Text1Me.Adodc1.RecordSource = "select * from stu where " + kc + " " + kc_条件Me.Adodc1.RefreshEnd SubPrivate Sub Form_Load()kc_条件 = ">=92"kc = "vb"End SubPrivate Sub Option1_Click()kc = "VB"End SubPrivate Sub Option2_Click()kc = "math"End SubPrivate Sub Option3_Click()kc = "English"End Sub该界面代码如下:Dim kc_条件 As StringDim kc As StringPrivate Sub Command1_Click()kc_条件 = Me.Text1Me.Adodc1.RecordSource = "select * from stu where " + kc + "='" + kc_条件 + "'"Me.Adodc1.RefreshEnd SubPrivate Sub Form_Load()kc = "name"End Sub该界面代码如下:Dim kc_条件 As StringDim kc As StringPrivate Sub Command1_Click()kc_条件 = Me.Text1Me.Adodc1.RecordSource = "select * from stu where " + kc + "='" + kc_条件 + "'"Me.Adodc1.RefreshEnd SubPrivate Sub Form_Load()kc = "class"End Sub该界面代码如下:Private Sub Command1_Click() Dim vb_A As Integer Dim vb_B As Integer Dim vb_C As Integer Dim vb_D As Integer Dim vb_E As Integer Dim Math_A As Integer Dim Math_B As Integer Dim Math_C As Integer Dim Math_D As Integer Dim Math_E As Integer Dim English_A As Integer Dim English_B As Integer Dim English_C As Integer Dim English_D As Integer Dim English_E As Integer Me.Adodc1.RecordSource = "select * from stu where vb>=90" Me.Adodc1.Refresh vb_A = Me.Adodc1.Recordset.RecordCount Me.Text1 = vb_A Me.Adodc1.RecordSource = "select * from stu where vb>=80 and vb<90" Me.Adodc1.Refresh vb_B = Me.Adodc1.Recordset.RecordCount Me.Text2 = vb_B Me.Adodc1.RecordSource = "select * from stu where vb>=70 and vb<80" Me.Adodc1.Refresh vb_C = Me.Adodc1.Recordset.RecordCount Me.Text3 = vb_C Me.Adodc1.RecordSource = "select * from stu where vb>=60" Me.Adodc1.Refresh vb_D = Me.Adodc1.Recordset.RecordCount Me.Text4 = vb_D Me.Adodc1.RecordSource = "select * from stu where vb<60" Me.Adodc1.Refresh vb_B = Me.Adodc1.Recordset.RecordCount Me.Text5 = vb_E Me.Adodc1.RecordSource = "select * from stu where math>=90" Me.Adodc1.Refresh Math_A = Me.Adodc1.Recordset.RecordCount Me.Text6 = Math_A Me.Adodc1.RecordSource = "select * from stu where math>=80 and math<90" Me.Adodc1.Refresh Math_B = Me.Adodc1.Recordset.RecordCount Me.Text7 = Math_B Me.Adodc1.RecordSource = "select * from stu where math>=70 and math<80" Me.Adodc1.Refresh Math_C = Me.Adodc1.Recordset.RecordCount Me.Text8 = Math_C Me.Adodc1.RecordSource = "select * from stu where math>=60 " Me.Adodc1.Refresh Math_D = Me.Adodc1.Recordset.RecordCount Me.Text9 = Math_D Me.Adodc1.RecordSource = "select * from stu where math<60" Me.Adodc1.Refresh Math_E = Me.Adodc1.Recordset.RecordCount Me.Text10 = Math_E Me.Adodc1.RecordSource = "select * from stu where english>=90" Me.Adodc1.Refresh English_A = Me.Adodc1.Recordset.RecordCount Me.Text11 = English_A Me.Adodc1.RecordSource = "select * from stu where english>=80 and english<90" Me.Adodc1.Refresh English_B = Me.Adodc1.Recordset.RecordCount Me.Text12 = English_B Me.Adodc1.RecordSource = "select * from stu where english>=70 and english<80" Me.Adodc1.Refresh English_C = Me.Adodc1.Recordset.RecordCount Me.Text13 = English_C Me.Adodc1.RecordSource = "select * from stu where english>=60" Me.Adodc1.Refresh English_D = Me.Adodc1.Recordset.RecordCount Me.Text14 = English_D Me.Adodc1.RecordSource = "select * from stu where english<60" Me.Adodc1.Refresh English_E = Me.Adodc1.Recordset.RecordCount Me.Text15 = English_EEnd SubPrivate Sub Form_Load() Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Text5.Text = "" Text6.Text = "" Text7.Text = "" Text8.Text = "" Text10.Text = "" Text11.Text = "" Text12.Text = "" Text13.Text = "" Text14.Text = "" Text15.Text = ""End Sub该界面代码如下:Private Sub Command1_Click()Me.Adodc1.RecordSource = "select * from stu order by total desc"Me.Adodc1.RefreshMe.Adodc1.Recordset.MoveFirstFor i = 1 To Me.Adodc1.Recordset.RecordCount Me.Adodc1.Recordset.Fields("mc").Value = i Me.Adodc1.Recordset.Update Me.Adodc1.Recordset.MoveNextNext iEnd SubPrivate Sub Command2_Click()Me.Adodc1.Recordset.MoveFirstFor i = 1 To Me.Adodc1.Recordset.RecordCount Me.Adodc1.Recordset.Fields("mc").Value = Null Me.Adodc1.Recordset.Update Me.Adodc1.Recordset.MoveNextNext iEnd Sub该界面代码如下:Private Sub Command1_Click() Me.Adodc1.Refresh '填充表格数据 MSChart1.RowCount = 1 MSChart1.ColumnCount = Me.Adodc1.Recordset.RecordCount Me.Adodc1.Recordset.MoveFirst For lngI = 1 To Me.Adodc1.Recordset.RecordCount MSChart1.Column = lngI '用Data属性向MSChart数据网格填充数据 MSChart1.Data = Val(Adodc1.Recordset.Fields("vb").Value) MSChart1.ColumnLabel = Adodc1.Recordset.Fields("name").Value Adodc1.Recordset.MoveNext Next lngI MSChart1.RowLabel = "VB成绩直方图"End SubPrivate Sub Command2_Click() Me.Adodc1.Refresh '填充表格数据 MSChart1.RowCount = 1 MSChart1.ColumnCount = Me.Adodc1.Recordset.RecordCount Me.Adodc1.Recordset.MoveFirst For lngI = 1 To Me.Adodc1.Recordset.RecordCount MSChart1.Column = lngI '用Data属性向MSChart数据网格填充数据 MSChart1.Data = Val(Adodc1.Recordset.Fields("math").Value) MSChart1.ColumnLabel = Adodc1.Recordset.Fields("name").Value Adodc1.Recordset.MoveNext Next lngI MSChart1.RowLabel = "Math成绩直方图"End Sub该界面代码如下Private Sub Command1_Click() Dim vb As Integer Dim math As IntegerDim english As Integer Me.Adodc1.RecordSource = "select * from stu where (math+english+vb)/3>=90) or(math+english+vb)/3>=85 and (math=100 or english=100 or vb=100 )or(vb+english+math)/3>=85 and (vb>=95 and english >=95)or (english>=95 and math>=95)or ( math>=95 and vb>=95 )and (mc<=3) and (vb>=60 and english>=60 and math>=60)" Me.Adodc1.RefreshEnd Sub五、总结和体会想来,当时那会儿听说要搞vb课程设计的时候,我可是相当激动啊,心想,学的东西终于可以用一用了。并且这次的Vb课程设计要持续两周的时间,主要是用vb+access相关的知识来实现学生成绩和信息的管理。这对于我们这种初次接触这种东西的人来说,还真是有难度,如果不是老师给了我们足够的模板和样例,我想我还真一时半会儿,不知道从哪里下手,好在功夫不负有心人,经过几天时间的摸索和操作,这个学生成绩管理系统的雏形终于是出现了,虽说功能不太完善,但还是能满足基本要求,这让我很是欣慰。两周的时间并不长,一晃就到了,课程设计也要画上句号了。在这一段时间里里,不能说我的vb编程能力有了多么大的提高,多么大的飞跃,但我敢说我对vb和数据库相关的知识有了更加深刻的了解和体会,总结起来主要有以下几点:1、想要用vb做出好的东西来,一定要勤动手,不能光看,因为好多错误凭看是看不出来的,只有通过自己不断的操作和修改,才能对vb的语法结构和流程有自己独到的理解; 2、在编程和调试的过程中,总会出现一些意想不到的问题。我发现并不是每一个问题都能从资料中得到解决方法,有些问题是无法预料的,这个时候就得靠自己去分析了,你必须得非常的细心,一步一步的进行调试和修改,而且不能急,往往有的错误就是在你急躁的时候从你眼皮底下溜过去的,这样又得重新检查,到头来,既费时又费力,实在不行,还可以和同学一起进行讨论; 3、在写代码的时候,一定要养成良好的语法习惯,对窗体和控件的name属性和caption属性,要尽量习惯用相对应的英文单词的缩写或简写,因为这样便于自己的查找和修改,还有就是在写代码的时候,不要图简单,一些语法结构总是不写全,老是用最简单的形式,如果你对vb语法结构很熟的话,这没问题,但对于我们这样的初学者来说,一定不要这样,因为时间长了的话,对一些复杂一点的程序理解起来会很吃力的,而且对其的运行过程的了解不能达到透彻; 4、在数据库的操作部分,一定检验一下数据源的连接成功与否,还有就是在控件与数据库连接的时候,不要忘了每个控件的datasource属性和datafield属性,要确保其于数据库的成功连接。 经过本次的vb课程设计,让我对vb的软件开发流程,整体筹划发面有了一定的了解和提高,虽说我的专业并不是计算机或者软件工程相关的专业,但我对vb编程的热情丝毫不弱,我相信有了这次的经历,对我以后vb的学习有很大的帮助,并祝我在vb或者其他类型的计算机语言的编程道路上走得更远。

    注意事项

    本文(VB学生成绩管理系统的设计与实现课程设计报告.doc)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开