VB学生信息管理系统实验报告_第1页
VB学生信息管理系统实验报告_第2页
VB学生信息管理系统实验报告_第3页
VB学生信息管理系统实验报告_第4页
VB学生信息管理系统实验报告_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录一、实习任务 .11.实习任务简介 .1 2.学生成绩查询统计系统实现的功能概论1. 3.实习目的 1 4.实验的背景和意义 .1 5.软件工具和需要掌握的知识.1 二、系统分析2 1.系统功能模块的划分 .2 2.初步对此程序的描述 .2 三、系统设计.2 1.登陆界面实现的细节 .2 2.其他界面实现的细节 3 四、调试、排错、测试、试运行过程 .3 1.调试、排错、测试、试运行解析. .4 五、完整源程序. .6 1.完整源程序代码 .6 六、总结体会 . .13 1.心得体会 .13 七、参考文献 .14 软件技术认知实验报告计算机与信息工程系09 级软件技术专业z090555 班

2、闫素阁1 一、实习任务1.习任务简介:在课程进行时听老师介绍软件工程学的基本思想进行软件开发的原则和方法; 结构化分析的思路和步骤以及结构化编程的方法和面向对象的思想和程序设计方法给了我编辑此程序的能力。 在查阅部分资料和咨询同学后按照软件开发的一般方法和步骤就手动完成了学生信息查询统计系统。2.学生成绩查询统计系统要实现的功能概论 登录界面:密码最多尝试3 次,连续3 次均输入错误系统自动退出。 具有录入成绩、添加记录、删除记录、修改记录功能。 具有成绩查询功能,可以按照学号、课程号、课程名、分数段进行查询。为便于查询,所有的学号和课程号可考虑以下拉列表的形式给出。 具有全部成绩浏览功能,且

3、能与数据库表最新数据同步。 具有统计功能,能以直方图、饼图、折线图、散点图直观表示各成绩段的分布情况。 具有打印学生成绩报表的功能。 具有菜单和工具条的双重操作功能。3.实习目的:在考试来临之际,此次实习给了我们一个全面复习的机会以及自我认知的空间!学生成绩查询统计系统的功能比较强大,全面系统的运用我们以前学习的知识,如 p54 页 shell函数的运用! 这次试验的也给了我与同学充分交流的机会,共同研究讨论这次试验,分享思想加深了友谊,我相信对我今后的学习生活定能起到不小的作用!4. 实验的背景和意义:此次实验是我们由苗老师带领全面学习了visual basic 程序设计教程之后进行的。做完

4、此课程设计就迎来了我们的期末考试,由于时间比较紧迫和考试的压力以及此课程设计涉及的知识点太多, 进而我们难免有点急躁,还好一旦进入状态时间就不知不觉的溜走了,此时的我们享受着做题的乐趣,枯燥和反感自然也就烟消云散了。这次课程设计给我的感受真的很深刻,意义非凡呀。access、datareport、imagelist 、toolbar 等也是在这一次课程设计中才得以熟练的运用的我的,耐心,细心,恒心进而也得以锻炼。5. 软件工具和需要掌握的知识要熟悉 access、datareport、imagelist、toolbar,adodc,datalist 等控件的运用,要知道控件的添加和窗体的调试和

5、控件的布局以及其对应属性的设置!要熟悉课本以便在编辑时便于记不清的代码的查询。要留意可当上老师讲的书本内外的内容,如datareport 就是老师补充的内容, 但此次课程设计涉及到了它,进而我也更加清楚了其运用。要熟悉在vb 程序内部编辑新建数据库,新建表。此次课程设计耗时量很大,新建的窗体不少,代码也相当的多且有点繁杂。尤其数据库连接时, 且要使其与控件同步进行。分数段的划分都需要运用到函数,故需要掌握其对应函数的应用! toolbar 的应用也应给予充分重视,尤其是其属性中的“值”的设定以及关键字的设定!软件技术认知实验报告计算机与信息工程系09 级软件技术专业z090555 班闫素阁2

6、二、系统分析:1. 系统功能模块的划分:登陆窗体界面主窗体界面新用户注册界面添加学生界面同一课程学生信息界面查询个人信息界面个人情况展示界面2.初步对此程序的描述:form2 为我的登陆主界面,用户名和密码连接着我所建的一个“用户和密码”数据库,登录界面内有用户注册功能,其与用户和密码数据库同步。form1 为主界面, 里面包含着强大的功能连接着其他五个窗体。除主界面和注册界面外,其他窗体都连接着我所建的另一个数据库“基本情况”,添加窗口和数据库“基本情况”实现了同步,同时总体成绩界面与数据库里的成绩保持一致,所以总体成绩图示界面实现了动态掩饰的功能。在个人信息查询界面只需在 msgbox 中

7、输入想要查询的学号,如果“基本情况”中有此学号,那么在此窗体内便会显示此学号的学生信息,没有查到你所输入的学号的话则提示无此学号。同一课程信息界面则是运用 datalist 和 adodc 的结合来实现其功能的。三、系统设计:1.登陆界面内用户注册页面实现的细节:private sub command1_click() if text1 = or text2 = or text3 = then msgbox 信息不完整,部分注册, , 敬请注意 elseif text2.text text3.text then msgbox 两此输入的密码不一致,请从新输入, , 警告 text2.text

8、= text3.text = text2.setfocus else adodc1.commandtype = adcmdtext adodc1.recordsource = select * from 用户和密码 set datasource = adodc1 adodc1.refresh adodc1.recordset.addnew adodc1.recordset.fields( 用户名 ) = text1.text adodc1.recordset.fields( 密码 ) = text2.text adodc1.recordset.update msgbox 注册成功 , , 温馨

9、提示 软件技术认知实验报告计算机与信息工程系09 级软件技术专业z090555 班闫素阁3 form1.text1.text = text1.text unload form3 end if end sub 在登陆界面也是运用数据库的连接来查找是否存在其人的。再次就不做过多的解释了,详情见第五项。2.其他界面实现的细:在主界面帮助菜单中有计算机的调用,其主要shell 函数的运用i = shell(calc.exe, 1) ,而相应的记事本的调用也是运用此函数j = shell(notepad + 闫素阁vb课设 关于此程序.txt, 1) 。在用户注册时运用简单的部件结合,便调试出了此程序。

10、此代码如下:在学号查询窗口是运用datalist 和 adodc 的结合来运行的,代码如下:private sub datalist1_click() adodc1.commandtype = adcmdunknown adodc1.recordsource = select * from 基本情况where 学号 = + datalist1.text + adodc1.refresh set datagrid1.datasource = adodc1 end sub private sub form_load() adodc2.commandtype = adcmdunknown adodc

11、2.recordsource = select 学号 from 基本情况group by 学号 adodc2.refresh set datalist1.datasource = adodc2 end sub toolbar 工具栏按钮用case语句编辑的几代码如下:private sub toolbar1_buttonclick(byval button as mscomctllib.button) select case button.index case 1 commondialog1.showopen case 2 adodc1.recordsource = 基本情况 adodc1.r

12、efresh case 3 datareport1.show case 4 dim ask as integer ask = msgbox( 删除否? , vbyesno) if ask = 6 then adodc1.recordset.delete adodc1.recordset.movenext if adodc1.recordset.eof then adodc1.recordset.movelast end if end select end sub 四、调试、排错、测试、试运行过程软件技术认知实验报告计算机与信息工程系09 级软件技术专业z090555 班闫素阁4 各控件在保证代

13、码编辑正确无误的情况下一点要注意各属性值的变更,如果在代码正确的前提下,还打不到预期的结果,那么你就要高度注意注意其控件的属性了!(1)调试、排错、测试、试运行解析:(1)如你输入的用户名和密码在“用户和密码”数据库中查找不到,那么系统将弹出提示对话框,其如图1 所示:图 1 (2)进入主窗体之后迎接你的便是主界面,一点要注意照片的绑定,以免出现气人不对其号的情况。其窗体演示图2:图 2 软件技术认知实验报告计算机与信息工程系09 级软件技术专业z090555 班闫素阁5 (3)在添删改菜单栏中有同一课程同学信息查询窗口这一设置,其功能能够从 “基本情况”数据库中进行根源查找,以确使同一专业的

14、学生信息全盘显示在form5 中,其图示示范如图 3:图 3 (4)在菜单栏中亦有添加同学这一功能,其演示图示如图4:图 4 软件技术认知实验报告计算机与信息工程系09 级软件技术专业z090555 班闫素阁6 (5)为了使总体成绩更加明了,在form6 中我利用其余数据库“基本情况”连接,确保了其图示与数据库同步,便于更加直接的反映出添加或删除学生的动态及最总体分数段的浏览,其图示如图5:图 5 五、完整源程序由于窗体的不同,故我要按不同的窗体分别来写代码,如下便是完整源程序:1.完整源程序代码:登陆界面form1:private sub command1_click() static co

15、unt1 as integer if text1.text = or text2.text = then msgbox 请把登录信息填写完整!, , 温馨提示 else adodc1.commandtype = adcmdunknown adodc1.recordsource = select * from 用户和密码where 用户名 = + text1.text + and 密码= + text2.text + adodc1.refresh if adodc1.recordset.recordcount 0 then 在数据库里查找如找到则为1 unload me form1.show e

16、lse 软件技术认知实验报告计算机与信息工程系09 级软件技术专业z090555 班闫素阁7 msgbox 用户名或密码错误,请重新输入, , 温馨提示 text1.text = text2.text = text1.setfocus count1 = count1 + 1 if count1 3 then msgbox 登陆错误超过3 次,系统自动退出!, , 温馨提示 end end end if end if end if end sub private sub command2_click() if msgbox( 是否退出系统!, vbokcancel + vbquestion, 系

17、统提示 ) = vbok then end end if end sub private sub command3_click() form3.show end sub 新用户注册界面的代码如form2:private sub command1_click() if text1 = or text2 = or text3 = then msgbox 信息不完整,部分注册, , 敬请注意 elseif text2.text text3.text then msgbox 两此输入的密码不一致,请从新输入, , 警告 text2.text = text3.text = text2.setfocus

18、else adodc1.commandtype = adcmdtext adodc1.recordsource = select * from 用户和密码 set datasource = adodc1 adodc1.refresh adodc1.recordset.addnew adodc1.recordset.fields( 用户名 ) = text1.text adodc1.recordset.fields( 密码 ) = text2.text adodc1.recordset.update msgbox 注册成功 , , 温馨提示 form1.text1.text = text1.te

19、xt unload form3 end if end sub 软件技术认知实验报告计算机与信息工程系09 级软件技术专业z090555 班闫素阁8 private sub command2_click() if msgbox( 是否退出系统!, vbokcancel + vbquestion, 系统提示 ) = vbok then end end if end sub 主界面 form2 的代码如下:private sub command1_click() dim strb() as byte commondialog1.showopen open commondialog1.filename

20、 for binary as #1 f1 = lof(1) redim strb(f1) get #1, , strb adodc1.recordset.fields( 照片 ).appendchunk strb close #1 image1.picture = loadpicture(commondialog1.filename) end sub private sub gerenxinxichaxun_click() form7.show end sub private sub guanyucichengxu_click() 闫素阁 vb 课设 关于此程序 .txt, 1) end su

21、b private sub jisuanqi_click() i = shell(calc.exe, 1) end sub private sub kechenghaochaxun_click() form5.show end sub private sub shanchu_click() dim ask as integer ask = msgbox( 删除否? , vbyesno) if ask = 6 then adodc1.recordset.delete adodc1.recordset.movenext if adodc1.recordset.eof then adodc1.rec

22、ordset.movelast end if end sub private sub tianjia_click() form4.show end sub private sub tongjitu_click() form6.show end sub 软件技术认知实验报告计算机与信息工程系09 级软件技术专业z090555 班闫素阁9 private sub tongyikechengxuesheng_click() form5.show end sub private sub toolbar1_buttonclick(byval button as mscomctllib.button) s

23、elect case button.index case 1 commondialog1.showopen case 2 adodc1.recordsource = 基本情况 adodc1.refresh case 3 datareport1.show case 4 dim ask as integer ask = msgbox( 删除否? , vbyesno) if ask = 6 then adodc1.recordset.delete adodc1.recordset.movenext if adodc1.recordset.eof then adodc1.recordset.movel

24、ast end if end select end sub private sub xingzhuangyanshi_click() form6.show end sub private sub xuehaochaxun_click() form8.show end sub private sub xueshengxinxibiao_click() datareport1.show end sub private sub zhaorenchuangkou_click() form7.show end sub 添加学生窗口form4 对应的代码如下:private sub command1_cl

25、ick() if text1 = or text2 = or text3 = or text4 = or text5 = then msgbox 信息不完整,部分注册, , 敬请注意 else adodc1.commandtype = adcmdtext adodc1.recordsource = select * from 基本情况 set datasource = adodc1 adodc1.refresh adodc1.recordset.addnew 软件技术认知实验报告计算机与信息工程系09 级软件技术专业z090555 班闫素阁10 adodc1.recordset.fields(

26、 学号 ) = text1.text adodc1.recordset.fields( 姓名 ) = text2.text adodc1.recordset.fields( 课程号 ) = text3.text adodc1.recordset.fields( 课程名 ) = text3.text adodc1.recordset.fields( 分数 ) = text4.text adodc1.recordset.update msgbox 添加成功 , , 温馨提示 form1.text1.text = text1.text end if end sub private sub comma

27、nd2_click() form4.visible = false end sub 查询同一课程同学的信息的窗体form5 对应的代码如下:private sub datalist1_click() adodc1.commandtype = adcmdunknown adodc1.recordsource = select * from 基本情况where 课程号 = + datalist1.text + adodc1.refresh set datagrid1.datasource = adodc1 end sub private sub form_load() adodc2.command

28、type = adcmdunknown adodc2.recordsource = select 课程号from 基本情况group by 课程号 adodc2.refresh set datalist1.datasource = adodc2 end sub 总体分数图示窗体form6 代码如下:dim a$(5), b%(5), max public sub zbx() cls a(0) = 优秀 a(1) = 良好 a(2) = 中等 a(3) = 及格 a(4) = 不及格 do while not form1.adodc1.recordset.eof select case form

29、1.adodc1.recordset.fields( 分数 ) case is max then max = b(i) next i scale (-1, 1.2 * max)-(max * 5, -max * 0.1) line (0, 0)-(6 * max, 0): line (0, max * 1.2)-(0, 0) currentx = 0 currenty = 0 me.print 统计结果 :; for i = 0 to 4 me.print a(i) & 的人数为 ; b(i); ,; next i end sub private sub command1_click(

30、) dim w% zbx w = max / 3 x1 = w for i = 0 to 4 x2 = x1 + w y2 = b(i) line (x1, 0)-(x2, y2), qbcolor(9), bf currentx = x1 currenty = y2 + max * 0.1 print a(i) x1 = x2 + w next i end sub private sub command2_click() zbx w = 2.5 * max / 2 currentx = 2.5 * max / 2: currenty = b(1) for i = 0 to 2.5 x = x

31、 + w: y = b(i) line -(x, y): drawwidth = 10 pset (x, y) print a(i) drawwidth = 1 软件技术认知实验报告计算机与信息工程系09 级软件技术专业z090555 班闫素阁12 next i end sub private sub command3_click() zbx x = abs(me.scaleheight / 3) + 1 r = max / 2 sum = 0 for i = 0 to 4 sum = sum + b(i) next i me.fillstyle = 0 a1 = 0 for i = 0 to

32、 4 a2 = a1 + 2 * 3.1415926 * b(i) / sum fillcolor = qbcolor(15 * rnd) circle (x, x), r, , -a1, -a2 currentx = x + r * cos(a1 + a2) / 10) currenty = x - r * sin(a1 + a2) / 8) print format(b(i) / sum * 100, 0.00); % a1 = a2 next i end sub private sub command4_click() zbx for i = 1 to 5 w = 3 * max / 5

33、: drawwidth = 4 x = x + w: y = b(i) pset (x, y) next i drawwidth = 2 end sub 查找个人信息窗口form7 代码如下:private sub command1_click() dim m as string m = inputbox( 请输入学号 , 查找窗 ) adodc1.recordset.find 学号 = & m & , , , 1 if adodc1.recordset.eof then msgbox 无此学号! , , 提示 end sub private sub command2_clic

34、k() visible = false end sub 同一学号窗体form8 代码如下:private sub datalist1_click() adodc1.commandtype = adcmdunknown 软件技术认知实验报告计算机与信息工程系09 级软件技术专业z090555 班闫素阁13 adodc1.recordsource = select * from 基本情况where 学号 = + datalist1.text + adodc1.refresh set datagrid1.datasource = adodc1 end sub private sub form_loa

35、d() adodc2.commandtype = adcmdunknown adodc2.recordsource = select 学号from 基本情况group by 学号 adodc2.refresh set datalist1.datasource = adodc2 end sub 六. 总结体会这次课程设计在紧张,挑战与快乐中度过,觉得从中获益匪浅1.心得体会期末考试即将来临,这次 vb 实习给了我们一个全面复习vb 的机会以及自我认知的空间!学生成绩查询统计系统的功能比较强大,全面系统的运用我们以前学习的知识,如 p54 页 shell 函数的运用! 这次试验的也给了我与同学充分

36、交流的机会,共同研究讨论这次试验,分享思想加深了友谊,我相信对我今后的学习生活定能起到不小的作用!这次实习使我更加熟悉access、datareport、imagelist、 toolbar, adodc,datalist 等控件的操作,熟练掌握了常用控件的添加、窗体的调试、控件的布局以及其对应属性的设置!熟悉了课本便于了我在编辑程序时记不清的代码的查询。由于我上课比较留意课堂上老师讲的课本内外设计的问题,使我较容易的运用了datareport 报表的制作,因此次课程设计涉及到了它,进而我也更加清楚了其运用。我更加熟悉在vb 程序内部编辑新建数据库,新建表的运用我所做的这次课程设计耗时量很大,新建的窗体比较多,代码也相当的多且有点繁杂。尤其数据库连接时,且要使其与控件同步进行。分数段的划分都需要运用到函数,这次课程设计也是我熟悉了部分函数的应用!toolbar 的编辑也耗费了我的不少脑力,尤其是其属性中的“值”的设定以及关键字的设定!尤其是我在编辑登陆窗

温馨提示

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

评论

0/150

提交评论