vb程序设计课程设计报告学生成绩管理系统

上传人:无*** 文档编号:42436561 上传时间:2021-11-26 格式:DOC 页数:39 大小:2.43MB
收藏 版权申诉 举报 下载
vb程序设计课程设计报告学生成绩管理系统_第1页
第1页 / 共39页
vb程序设计课程设计报告学生成绩管理系统_第2页
第2页 / 共39页
vb程序设计课程设计报告学生成绩管理系统_第3页
第3页 / 共39页
资源描述:

《vb程序设计课程设计报告学生成绩管理系统》由会员分享,可在线阅读,更多相关《vb程序设计课程设计报告学生成绩管理系统(39页珍藏版)》请在装配图网上搜索。

1、 VB程序设计课程设计报告 班 级: 资工10902班 学生姓名: 序 号: 200903201 指导老师: 日 期: 2011年2月 39目 录1、课设的目的32、界面设计和功能设计43、系统功能实施错误!未定义书签。45、总结和体会错误!未定义书签。91. 课设的目的1.通过本次课程设计,提高实践动手能力;2.通过本次课程设计,进一步理解计算机程序设计的思路与方法;3.通过本次课程设计,进一步熟练运用VB的语言元素和流程控制语句;4.通过本次课程设计,达到能熟练使用各种常见的VB控件,理解面向对象的思想;5.通过本次课程设计,熟悉用户界面的设计;6.通过本次课程设计,熟悉数据访问控件ADO

2、及相关对象的使用,能基于ADO控件实现Access的数据访问与操纵;设计环境:1. 硬件环境Pentium II以上微机,内存32MB以上,建议64MB。2. 操作系统 Windows 98/2000/XP。3. 编程环境Visual Basic 6.0程序设计语言,Access97/2000数据库。2. 界面设计和功能设计1. 用户登录界面(form10)以windows7的登陆界面为背景,简单清新,为操作简单考虑,无需输入用户名与密码,直接点击登录即可进入学生成绩管理系统的主窗体。2. 学生成绩管理系统(form1)学生成绩管理系统这个窗体有学生管理(添加与删除)、查询与统计、统计总分、排

3、名、统计直方图、优等生界面这五大主要功能。其中查询统计功能又分各科成绩查询、姓名查询、班级查询、各科成绩段查询这五个功能。3. 学生管理窗体(form2)该窗体通过Adodc控件能直接浏览Acess表格上学生的信息,还可以通过添加按钮添加某学生的信息,通过删除按钮删除某学生的信息,通过保存按钮保存添加的学生信息,点击返回主窗口按钮可直接返回form1主窗口。其程序代码如下:4. 成绩的查询窗体(form3)通过该窗体可直接输入的查询条件分别对VB、Math、English这三门课程各成绩段学生情况统计。5. 统计总分窗体(form4)该窗体界面上有两个Command按钮,一个ADO控件,还有一

4、个DataGrid控件,可以计算Acess表格上各学生所有课程的总分。6. 排名窗体(form5)该窗体界面上有两个Command按钮,一个ADO控件,还有一个DataGrid控件,可根据Acess表格上各学生所有课程的总分对学生进行排名。7. 各科成绩段统计窗体(form6)该窗体可直接实现对各门课程中优秀人数、良好人数、中等人数、及格人数、不及格人数进行统计。8. 统计直方图窗体(form7)该窗体有3个Command按钮,一个Chart控件,一个ADO控件,可实现将各门功课所有学生的成绩以直方图的形式呈现出来,更加直观!9. 姓名查询(form8)通过输入姓名可以查询该生所有信息。10.

5、 班级查询窗口(form9)通过输入班级可以查询该班所有学生的信息。11.优等生界面(form11)该窗体有一个Command按钮,一个ADO控件,还有一个DataGrid控件,可以筛选出满足:1) 平均成绩大于90分;或平均分大于85分且至少有一门功课为100分;或者平均分大于85分且至少两门课程成绩为95分以上;2) 名次在前三名;3) 每门功课及格以上;3. 系统功能实施1.建立如下Access数据库 图1 数据库2、建立简单的学生成绩管理系统界面和实现功能(1)主界面 图2 主界面程序代码如下:Private Sub Command1_Click() Form2.ShowEnd Sub

6、Private Sub Command10_Click() Form11.ShowEnd SubPrivate Sub Command3_Click() Form4.ShowEnd SubPrivate Sub Command4_Click() Form5.ShowEnd SubPrivate Sub Command5_Click() Form7.ShowEnd SubPrivate Sub Command6_Click() Form3.ShowEnd SubPrivate Sub Command7_Click() Form8.ShowEnd SubPrivate Sub Command8_C

7、lick() Form9.ShowEnd SubPrivate Sub Command9_Click() Form6.ShowEnd Sub(2)学生管理界面 图3 学生管理界面如何加载ADO步骤一步骤二步骤三各个界面的ADO控件如何连接数据库(分两步):步骤一: 如下面界面中的5个步骤步骤2:选中ADO控件Adodc1,点击鼠标右键选择属性,然后界面设置如下:控件绑定数据库的字段操作说明:属性设置说明:下面以学号为例,姓名、班级等都可参考此。将学号对应的文本框Text1连接Adodc1显示数据库中的学号,需要设置DataSource和DataField两个属性,首先选中Text1文本框,并进

8、行下面的两步操作,即可绑定数据库的学号字段。设置DataSource:设置DataField:当在图2中点击学生管理,则进入图3界面,可以进行学生添加、删除、修改等操作。参考代码:(在图3工程的学生管理点击事件中加)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.R

9、ecordset.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 Form1.ShowEnd Sub(3)成绩查询界

10、面 图4 成绩查询界面当在图2中点成绩查询,则进入图4界面,可以按课程和输入条件进行查询。查询之前结果:点击查询之后的结果:控件DataGrid,实现数据的批量处理,该控件在控件库Microsoft DataGrid Control 6.0中。说明:DataGrid控件属性设置Dim kc_条件 As StringDim kc As StringPrivate Sub Command1_Click()kc_条件 = Me.Text1Me.Adodc1.RecordSource = select * from stu where + kc + + kc_条件Me.Adodc1.RefreshEn

11、d SubPrivate Sub Form_Load()kc_条件 = =92kc = vbEnd SubPrivate Sub Option1_Click()kc = VBEnd SubPrivate Sub Option2_Click()kc = mathEnd SubPrivate Sub Option3_Click()kc = EnglishEnd Sub(4)姓名查询界面(参考成绩查询界面) 图5姓名查询界面输入姓名后查询程序代码如下Dim kc_条件 As StringDim kc As StringPrivate Sub Command1_Click()kc_条件 = Me.Te

12、xt1Me.Adodc1.RecordSource = select * from stu where + kc + = + kc_条件 + Me.Adodc1.RefreshEnd SubPrivate Sub Form_Load()kc = nameEnd Sub(5)班级查询界面(参考成绩查询界面) 图6班级查询界面输入班级后查询Dim kc_条件 As StringDim kc As StringPrivate Sub Command1_Click()kc_条件 = Me.Text1Me.Adodc1.RecordSource = select * from stu where + k

13、c + = + kc_条件 + Me.Adodc1.RefreshEnd SubPrivate Sub Form_Load()kc = classEnd Sub(6)统计总分界面。当在图2中点统计总分,则进入图5界面。实现功能:当点击计算总分,则DataGrid表格中total列为三门课的总分,结果如下 图7 统计总分界面当点击清除总分列时,则DataGrid表格中total列清空,结果如下: 图8 清除总分界面Private Sub Command1_Click()Dim vb As IntegerDim math As IntegerDim english As IntegerMe.Ado

14、dc1.Recordset.MoveFirstFor i = 1 To Me.Adodc1.Recordset.RecordCount vb = Me.Adodc1.Recordset.Fields(vb).Value math = Me.Adodc1.Recordset.Fields(math).Value english = Me.Adodc1.Recordset.Fields(english).Value Me.Adodc1.Recordset.Fields(total).Value = vb + math + english Me.Adodc1.Recordset.Update Me.

15、Adodc1.Recordset.MoveNextNext iEnd SubPrivate Sub Command2_Click()Me.Adodc1.Recordset.MoveFirstFor i = 1 To Me.Adodc1.Recordset.RecordCount Me.Adodc1.Recordset.Fields(total).Value = Null Me.Adodc1.Recordset.Update Me.Adodc1.Recordset.MoveNextNext iEnd Sub(7)排名界面当在图2中点排名,则进入图9界面。 图9 排名界面实现功能:当总分计算完后,

16、可以根据总分计算排名。当点击排名,则DataGrid表格中mc列为显示出名次,结果如下:实现功能:当点击清除排名后,则DataGrid表格中mc列为空,结果如下:Private Sub Command1_Click() 排名Me.Adodc1.RecordSource = select * from stu order by total descMe.Adodc1.RefreshMe.Adodc1.Recordset.MoveFirstFor i = 1 To Me.Adodc1.Recordset.RecordCount Me.Adodc1.Recordset.Fields(mc).Valu

17、e = 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(8)各科成绩

18、段统计界面当在图2中点各科成绩段统,则进入图9界面。 图9 各科成绩段统计界面实现功能:在本界面上对各科的分数段进行统计,并显示在相应的文本框中。当点击计算分数段统计,则在相应的文本框中显示各科的分数段。Private Sub Command1_Click()Dim vb_A As Integer, vb_B As Integer, vb_C As Integer, vb_D As Integer, vb_E As IntegerDim Math_A As Integer, Math_B As Integer, Math_C As Integer, Math_D As Integer, Mat

19、h_E As IntegerDim English_A As Integer, English_B As Integer, English_C As Integer, English_D As Integer, 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 wh

20、ere vb=80 and vb=70 and vb=60 Me.Adodc1.Refresh vb_D = Me.Adodc1.Recordset.RecordCount Me.Text10 = vb_D Me.Adodc1.RecordSource = select * from stu where vb=90 Me.Adodc1.Refresh Math_A = Me.Adodc1.Recordset.RecordCount Me.Text2 = Math_A Me.Adodc1.RecordSource = select * from stu where vb=80 and vb=70

21、 and vb=60 Me.Adodc1.Refresh Math_D = Me.Adodc1.Recordset.RecordCount Me.Text11 = Math_D Me.Adodc1.RecordSource = select * from stu where vb=90 Me.Adodc1.Refresh English_A = Me.Adodc1.Recordset.RecordCount Me.Text3 = English_A Me.Adodc1.RecordSource = select * from stu where vb=80 and vb=70 and vb=6

22、0 Me.Adodc1.Refresh English_D = Me.Adodc1.Recordset.RecordCount Me.Text12 = English_D Me.Adodc1.RecordSource = select * from stu where vb=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 a

23、nd vb=95 )and (mc=60 and english=60 and math=60)Me.Adodc1.RefreshEnd Sub4.总结与体会通过本次课程设计,我深刻感受到数据库的应用无处不在,VB具有强大的数据库操纵功能,如果能好好掌握这门编程语言并且稍加应用,无论对今后的工作还是学习都会起到很大的帮助。这次课程设计也让我明白了任何事物都不是我们想象的那样,我们人有我们自己的思维,电脑有电脑的“思维”,电脑只能识别它特定的计算机代码,因而我们的思路不能不加思索地直接强加于电脑,而需要通过转换将我们的想法转换为计算机程序,然后用VB语言编写出代码,这样计算机才能够运行得出我们想

24、要的结果。在设计的过程中,我接触了很多平时很少接触到的控件,比如像ADO Data控件, DBGrid控件,Chart控件,它们都不是VB的内部控件。ADO又称OLE自动化接口,是访问由Microsoft推出的最新、功能最强的应用程序接口,作为Active数据对象,能将一个数据源连接到一个数据感知控件。在课设过程中,有很多窗体都需要添加ADO Data控件,将在Access数据库连接到DBGrid控件,通过对ADO Data控件的多次使用我已熟练地掌握了基于ADO控件实现Access的数据访问与操纵。DBGrid控件在被ADO控件连接后,只需设置DataSource属性为Adodc1,运行后即

25、可显示网格的数据源。而Chart控件恐怕是我之前从未见过的控件,但是通过到图书馆查找资料后我发现它与其他控件比较也没有什么特殊之处,它与DBGrid控件一样需要被ADO控件连接,通过设置图表类型和图表选项后,即可以直方图的形式十分形象地显示每门课程学生成绩分布情况,功能十分强大。VB采用了面向对象设计的思想,它基本思路是把复杂的设计问题分解为多个能够完成独立功能且相对简单的对象集合。所谓“对象”就是个可操作实体如窗体、窗体中命令按钮、标签、文本框等,面向对象编程就是指程序员可根据界面设计要求直接在界面上设计出窗口、菜单、按钮等类型对象并为每个对象设置属性。其中窗体是最基本的对象,窗体是VB应用

26、程序的基本构造模块,每一个窗体都有自己的窗体设计器窗口,是我们进行界面设计的场所,一个窗体在程序运行时便成为一个窗口,所有的控件都必须放在窗体上才能够编写代码。在课设过程中我将11个窗体建立一个工程下,将第一个窗体设为主窗体,通过这个窗体可以访问其他子窗体,避免访问窗体的重复性和盲目性。通过了大二一个学期的学习,我已基本对VB的基础知识有了大致的了解,但是这些大多是纯理论上的,一旦真正动起手来时常出现这样那样的错误,甚至VB提醒后仍然无法察觉。这样的错误大都出现在语言编程上,这说明我对VB的语言元素和流程控制语句还是不够了解,需要今后不断实践不断提高。我想只有平时的不断操作练习,掌握这门应用广泛且功能强大的语言因该不会太难。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!