




免费预览已结束,剩余34页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
vb程序设计课程设计报告 班 级: 资工10902班 学生姓名: 序 号: 200903201 指导老师: 日 期: 2011年2月 39目 录1、课设的目的32、界面设计和功能设计43、系统功能实施错误!未定义书签。45、总结和体会错误!未定义书签。91. 课设的目的1.通过本次课程设计,提高实践动手能力;2.通过本次课程设计,进一步理解计算机程序设计的思路与方法;3.通过本次课程设计,进一步熟练运用vb的语言元素和流程控制语句;4.通过本次课程设计,达到能熟练使用各种常见的vb控件,理解面向对象的思想;5.通过本次课程设计,熟悉用户界面的设计;6.通过本次课程设计,熟悉数据访问控件ado及相关对象的使用,能基于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. 学生管理窗体(form2)该窗体通过adodc控件能直接浏览acess表格上学生的信息,还可以通过添加按钮添加某学生的信息,通过删除按钮删除某学生的信息,通过保存按钮保存添加的学生信息,点击返回主窗口按钮可直接返回form1主窗口。其程序代码如下:4. 成绩的查询窗体(form3)通过该窗体可直接输入的查询条件分别对vb、math、english这三门课程各成绩段学生情况统计。5. 统计总分窗体(form4)该窗体界面上有两个command按钮,一个ado控件,还有一个datagrid控件,可以计算acess表格上各学生所有课程的总分。6. 排名窗体(form5)该窗体界面上有两个command按钮,一个ado控件,还有一个datagrid控件,可根据acess表格上各学生所有课程的总分对学生进行排名。7. 各科成绩段统计窗体(form6)该窗体可直接实现对各门课程中优秀人数、良好人数、中等人数、及格人数、不及格人数进行统计。8. 统计直方图窗体(form7)该窗体有3个command按钮,一个chart控件,一个ado控件,可实现将各门功课所有学生的成绩以直方图的形式呈现出来,更加直观!9. 姓名查询(form8)通过输入姓名可以查询该生所有信息。10. 班级查询窗口(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 subprivate 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_click() form9.showend subprivate sub command9_click() form6.showend sub(2)学生管理界面 图3 学生管理界面如何加载ado步骤一步骤二步骤三各个界面的ado控件如何连接数据库(分两步):步骤一: 如下面界面中的5个步骤步骤2:选中ado控件adodc1,点击鼠标右键选择属性,然后界面设置如下:控件绑定数据库的字段操作说明:属性设置说明:下面以学号为例,姓名、班级等都可参考此。将学号对应的文本框text1连接adodc1显示数据库中的学号,需要设置datasource和datafield两个属性,首先选中text1文本框,并进行下面的两步操作,即可绑定数据库的学号字段。设置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.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 form1.showend sub(3)成绩查询界面 图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.refreshend 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.text1me.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 + kc + = + 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.adodc1.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.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 排名界面实现功能:当总分计算完后,可以根据总分计算排名。当点击排名,则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).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(8)各科成绩段统计界面当在图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, math_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 where 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 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=60 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 and vb=95 )and (mc=60 and english=60 and math=60)me.adodc1.refreshend sub4.总结与体会通过本次课程设计,我深刻感受到数据库的应用无处不在,vb具有强大的数据库操纵功能,如果能好好掌握这门编程语言并且稍加应用,无论对今后的工作还是学习都会起到很大的帮助。这次课程设计也让我明白了任何事物都不是我们想象的那样,我们人有我们自己的思维,电脑有电脑的“思维”,电脑只能识别它特定的计算机代码,因而我们的思路不能不加思索地直接强加于电脑,而需要通过转换将我们的想法转换为计算机程序,然后用vb语言编写出代码,这样计算机才能够运行得出我们想要的结果。在设计的过程中,我接触了很多平时很少接触到的控件,比如像ado data控件, dbgrid控件,chart控件,它们都不是vb的内部控件。ado又称ole自动化接口,是访问由microsoft推出的最新、功能最强的应用程序接口,作为active数据对象,能将
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 苏教版小学科学二年级上册教学计划
- 乳制品奶源质量控制与品牌形象塑造创新模式研究报告
- 二手交易电商2025年信用评价体系构建与创新实践报告
- 二手交易电商平台信用体系建设与消费者权益保护法律体系研究报告
- 市政工程施工自查报告和整改措施
- 2025年新学期班主任竞赛指导工作计划
- 译林版一年级英语互动游戏计划
- 风季施工的现场管理措施
- 二手交易电商平台信用评级体系与消费者信任度提升策略报告
- 养殖技术专业教学互动平台建设计划
- 产品可追溯流程图图
- Unit4Where'smyschoolbagSectionB(3a~SelfCheck)教学设计人教版英语七年级上册
- 脑卒中高危人群筛查和综合干预表
- 《旅游学概论》第四章
- 中国古典小说巅峰:四大名著鉴赏学习通课后章节答案期末考试题库2023年
- 教师职业素养精选ppt
- 轨枕工序安全操作规程
- 2021年消防继续教育试题汇总及答案
- GA 255-2022警服长袖制式衬衣
- JJF 1915-2021倾角仪校准规范
- GB/T 15382-2021气瓶阀通用技术要求
评论
0/150
提交评论