软件专业的 vb课程设计报告.docx
- 文档编号:12549441
- 上传时间:2023-04-20
- 格式:DOCX
- 页数:32
- 大小:348.63KB
软件专业的 vb课程设计报告.docx
《软件专业的 vb课程设计报告.docx》由会员分享,可在线阅读,更多相关《软件专业的 vb课程设计报告.docx(32页珍藏版)》请在冰豆网上搜索。
软件专业的vb课程设计报告
目录
一、实习任务………………………………..……......................1
1.学习实习内容……………………………………………………...……..1
2.《学生成绩查询统计系统》实现的功能概论……………………….…1
3.实习目的…………………………………………………………….……1
4.实验的背景和意义……………………………………………………….1
5.软件工具和需要掌握的知识…………………………………………….2
二、系统分析………………………………..……..........................3
系统功能模块的划分………………………………………….………..….3
三、系统设计………………………………..…….........................3
1.登陆界面………………………………………………………….……….3
2主界面……………………………………………………………..……….3
1)插入与录入………………………………………………….……..…………….3
2)查找、修改、删除…………………………………..…………….………….4
3.绘图……………………………………………………………..………….4
4.报表……………………………………………………………..……….6
5.播放器………………………………………………..……..………..….6
四、调试、排错、测试、试运行过程……..………….…..…….7
五、完整源程序:
………………………………......................9
六、总结体会………………………………..………..................19
七、参考文献………………………………..………....................20
一、实习任务
1听老师介绍用软件工程学的基本思想进行软件开发的原则和方法;结构化分析方法和步骤;结构化编程方法;面向对象的思想和程序设计方法。
2《学生成绩查询统计系统》要实现的功能包括:
①登录界面:
密码最多尝试3次,连续3次均输入错误系统自动退出。
②具有录入成绩、添加记录、删除记录、修改记录功能。
③具有成绩查询功能,可以按照学号、课程号、课程名、分数段进行查询。
为便于查询,所有的学号和课程号可考虑以下拉列表的形式给出。
④具有全部成绩浏览功能,且能与数据库表最新数据同步。
⑤具有统计功能,能以直方图、饼图、折线图、散点图、立体直方图直观表示各成绩段的分布情况。
⑥具有打印学生成绩报表的功能。
⑦具有菜单和工具条的双重操作功能。
3实习目的:
1、了解visualBasic系统对计算机软件、硬件的要求。
2、掌握启动与退出visualBasic的方法
3、熟悉visualBasic的集成开发的环境(IDE)
4、掌握在窗体上添加控件的各种方法。
5、掌握建立、编辑、运行和保存一个简单的visualBasic应用程序的全过程。
6、掌握了解vb的图形功能,及图形的绘制
7、掌握常用函数的使用(绘图函数:
line,circle等)
8、掌握vb常用控件的运用(通用对话框,inputbox,combox,工具栏,状态栏等)
4选题的背景和意义:
计算机不可避免的成为了当今社会的主流学科,计算机的广泛应用性、高效率以及其强大的计算能力注定了其发展潜力,虽然计算机现在的能力不可想象,但不要忽视了其出世还不足半个世纪,然而在这半个世纪里它带领着世界创造一个个奇迹。
随着计算机的广泛使用,它的灵魂——软件也得到了快速发展,但是人们的需求永远大于现实,各行各业都需求他们自己所最需要的各种软件,导致了社会需要大批的软件编辑者,VB作为几大编程语言之一,其语言易学易用的特点广大初学者学习学习计算机语言的首选,我们经过了半个学期的学习,对VB有了初步的了解,学生成绩管理器这是一个实用性很强,技术要求不太高的应用程序,很适合初学者练习,再者其要求全面,很适合对我们这学期的学习考察,虽然其中有一些书本上没有老师也没有讲过的内容,但通过网络学习也能完成,更能考察学生的自学能力。
此次课程设计耗时量很大,新建的窗体不少,代码也相当的多且有点繁杂。
尤其数据库连接时,且要使其与控件同步进行。
分数段的划分都需要运用到函数,故需要掌握其对应函数的应用!
ToolBar的应用也应给予充分重视,尤其是其属性中的“值”的设定以及关键字的设定!
5软件工具和需要掌握的知识。
1、软件工具:
VisualBasic6.0英文版、中文版
2、需要掌握的知识:
(1)视窗(Form)视窗是进行人机交互的界面或接口,也叫窗体。
VB系统的人机交互界面或接口,无论是在设计时或是在运行时,都是Windows系统的标准视窗。
(2)对象(Object)对象是VB系统内部提供给设计者可以直接使用的处理输出的控制工具。
本程序所应用到的对象类型有标签框(LabelBox),文本框(TextBox),命令按扭(CommandButton),网格(DataGrid),ADO控件(Adodc1)等。
当把这些工具放置到用户界面对应的窗体上时,被称为对象或控件。
用户可以通过设置对象的“属性”和“方法”,便于对象适应自己所设计应用程序的输入输出内容,对象的生成过程及结构都被封装起来。
正确使用对象可以减少程序和开发时间,提高程序设计者的工作效率。
(3)属性(Properties)属性是VB系统提供的有关对象的参数或数据接口。
用户通过适当地设置或改变对象的属性来确定对象的外观及性能特征,从而有效地使用系统提供的对象。
比如,对象的名称、在屏幕上显示的位置、大小、颜色、接收或容纳的数据内容及数据的表现格式等。
(4)VisualBasic中的事件(Events)事件是指用户或操作者对计算机进行的某一操作(如击键、单击或移动鼠标等)的行为或系统状态发生的变化。
VB系统常用事件来引导计算机执行一段程序。
程序所用的键盘事件有KeyPress(按键)事件,KeyDown事件和KeyUp事件;鼠标事件有Click(单击鼠标)事件,DbDlicd(双击鼠标)。
(5)VisualBasic中的方法(Method)方法主要是指对一个对象使用某种作用的过程。
它是在程序执行的过程中要计算机执行的某种操作。
其程序的方法有Show(显示)方法,Hide(隐藏)方法,Refresh(刷新)方法。
(6)VisualBasic中的过程(Procedure)过程是指经过定义或说明的,或基于某一对象对应的事件所引发的程序段。
二、系统分析:
系统功能模块的划分:
三、系统设计:
1.登陆界面
DimcountsAsInteger‘设定一个全局变量
PrivateSubCommand1_Click()
Dimi%
IfText1.Text<>"123"Then‘若输入错误提示
i=MsgBox("密码错误还可以输入"&2-counts&"次",5+vbExclamation,"提示")
Text1.Text=""
Text1.SetFocus
counts=counts+1‘变量加1
Else
Form1.Hide
Form2.Show
EndIf
Ifcounts>=3Then‘若变量大于3次系统自动关闭
End
EndIf
EndSub
2主界面的各个功能的实现:
1、插入与录入相同
将text的Enable属性设置成False,当插入时将其启用。
在运用语句:
Adodc1.Recordset.AddNew
2、查找、修改、删除再重新打开新的界面。
查找有按照学号,课程名,分数段
1)学号与课程名比较相似:
DimmAsString
m=InputBox("请输入课程","查找窗")
Adodc1.CommandType=8
Adodc1.RecordSource="Select*From学生信息Where课程='"&m&"'"'查找数据库中是否有此课程,赋值给adodc1
Adodc1.Refresh
IfAdodc1.Recordset.EOFThenMsgBox"无此课程!
",,"提示"2)分数段查询
Adodc1.CommandType=8
Adodc1.RecordSource="select*from学生信息where成绩>=80and成绩<90"
Adodc1.Refresh
3)修改
ask=MsgBox("是否确定要修改?
",vbYesNo)
Ifask=6Then
Text1.Enabled=True
Combo1.Enabled=True
Text3.Enabled=True
Text4.Enabled=True
Else
Adodc1.Recordset.CancelUpdate
EndIf
4)删除
ask=MsgBox("真的要删除吗",vbYesNo)
Ifask=6Then
Adodc1.Recordset.Delete'调用delete删除函数
Adodc1.Recordset.MoveNext
IfAdodc1.Recordset.EOFThenAdodc1.Recordset.MoveLast
EndIf
3、绘图
重新打开一个子界面
绘图前先要建立坐标系,将数据库中的数据统计分数个数写入数组b(i)
1)建立坐标系:
Dima$(5),b%(5),max'数组a,b,必须在窗体的通用处声明
PublicSubzbx()
Fori=0To4
b(i)=0'将成绩的人数重新赋值为0
Nexti
Form5.Picture1.Cls
a(4)="不及格"
a(3)="及格"
a
(2)="中等"
a
(1)="良好"
a(0)="优秀"
SetForm3.DataGrid1.DataSource=Form3.Adodc1'将DataGrid1数据重新赋值给adodc1
DoWhileNotForm3.Adodc1.Recordset.EOF
SelectCaseForm3.Adodc1.Recordset.Fields("成绩")'统计各个成绩段的人数
CaseIs>=90:
b(0)=b(0)+1
Case80To89:
b
(1)=b
(1)+1
Case70To79:
b
(2)=b
(2)+1
Case60To69:
b(3)=b(3)+1
CaseIs<60:
b(4)=b(4)+1
EndSelect
Form3.Adodc1.Recordset.MoveNext
Loop
Fori=0To4
Ifb(i)>maxThenmax=b(i)
Nexti
Picture1.Scale(-1,2*max)-(max*5,-max*0.3)'根据max的值定义坐标系
Picture1.Line(0,0)-(6*max,0):
Form5.Picture1.Line(0,max*2)-(0,0)
Picture1.CurrentX=0'设置当前坐标系
Picture1.CurrentY=0
Picture1.Print"统计结果:
";
Fori=0To4
Form5.Picture1.Printa(i)&"的为";b(i);",";
Nexti
EndSub
2)直方图
Dimw%
zbx'调用zbx函数
w=max/4'根据记录数计算矩形框的宽度
X1=w+1'设定直方图在x轴上的起始位置
Fori=0To4
X2=X1+w'直方图中矩形框的第二个坐标点
Y2=b(i)'直方图中每个矩形框的高度
Picture1.Line(X1,0)-(X2,Y2),QBColor(9),BF'画出矩形框
Picture1.CurrentX=X1
Picture1.CurrentY=Y2+max*0.1
Picture1.Printa(i)
X1=X2+w
Nextii
3)折线图:
zbx
w=1.6*max/2
Picture1.CurrentX=1.6*max/2
Picture1.CurrentY=b(0)
Fori=0To4
x=x+w:
y=b(i)'设置画点位置
Picture1.Line-(x,y):
Picture1.PSet(x,y):
DrawWidth=10
DrawWidth=1
Nexti
4)饼图
zbx
x=Abs(Picture1.ScaleHeight/3)+1'设定饼图的圆心位置
r=max/2'设置饼图的半径
Sum=0
Fori=0To4
Sum=Sum+b(i)'计算数据总和
Nexti
Picture1.FillStyle=0'设定窗体填充属性
a1=0
Fori=0To4
a2=a1+2*3.1415926*b(i)/Sum'计算扇形终止角
Picture1.FillColor=QBColor(15*Rnd)'设定填充颜色
Form5.Picture1.Circle(x,x),r,,-a1,-a2'画扇形
Form5.Picture1.CurrentX=x+1.5*r*Cos((a1+a2)/2)
Form5.Picture1.CurrentY=x+1.5*r*Sin((a1+a2)/2)
Form5.Picture1.PrintFormat(b(i)/Sum*100,"0.00");"%"+a(i)
a1=a2'将终止角变为下一个扇形起始角
Nexti
5)散点图
zbx
Fori=0To4
w=3*max/5:
DrawWidth=10
x=x+w:
y=b(i)
Picture1.PSet(x,y):
Picture1.Printa(i)
Nexti
DrawWidth=10
4、报表
添加dataEnvironment控件,在Connection属性中连接数据库,点右键添加命令后属性中对象为表,然后添加datareport控件,进行表的设计
点击报表菜单时,将数据源更新,再调用报表
Adodc1.Recordset.Update
DataReport1.Show
5、其他
重新打开一个界面
添加了一个播放器,为了在工作之余有个好心情,可以听听歌,放松心情。
CommonDialog1.ShowOpen
WindowsMediaPlayer1.URL=CommonDialog1.FileName
四、调试、排错、测试、试运行过程
各控件在保证代码编辑正确无误的情况下一点要注意各属性值的变更,如果在代码正确的前提下,还打不到预期的结果,那么你就要高度注意注意其控件的属性了!
(1)调试、排错、测试、试运行解析:
登陆输入密码错误时将出现提示如图
(1)所示:
图
(1)
(2)输入正确密码后就会进入主界面如图
(2)所示:
图
(2)
(3)点击“查删改”菜单就会进入子界面,在界面里选择各种功能。
例如查询:
点击查询后出现查找框如图(3)所示:
图(3)
查找后的结果如图(4)所示:
图(4)
(4)绘图
例如饼图如图(5)所示:
图(5)
(5)其他的功能,播放器如图(6)所示:
图(6)
五、完整源程序:
1)登陆界面:
Form1:
DimcountsAsInteger'设定一个全局变量
PrivateSubCommand1_Click()
Dimi%
IfText1.Text<>"123"Then'若输入错误提示
i=MsgBox("密码错误还可以输入"&2-counts&"次",5+vbExclamation,"提示")
Text1.Text=""
Text1.SetFocus
counts=counts+1'变量加1
Else
Form1.Hide
Form2.Show
EndIf
Ifcounts>=3Then'若变量大于3次系统自动关闭
End
EndIf
EndSub
PrivateSubForm_Load()
Text2.Text=""
Text1.Text=""
Text1.MaxLength=3
Text2.MaxLength=3
Text1.PasswordChar="*"
EndSub
2)主界面form2:
PrivateSubAdodc1_MoveComplete(ByValadReasonAsADODB.EventReasonEnum,ByValpErrorAsADODB.Error,adStatusAsADODB.EventStatusEnum,ByValpRecordsetAsADODB.Recordset20)
Adodc1.Caption="当前为第"&Adodc1.Recordset.AbsolutePosition&"个人,共有"&Adodc1.Recordset.RecordCount
EndSub
PrivateSubCommand1_Click()'将照片写入数据库
Dimstrb()AsByte'定义一个字节类型的数组
CommonDialog1.ShowOpen
OpenCommonDialog1.FileNameForBinaryAs#1'以二进制读方式打开源文件
fl=LOF
(1)'获得文件长度
ReDimstrb(fl)
Get#1,,strb
Adodc1.Recordset.Fields("照片").AppendChunkstrb'写入数据库
Close#1
Image1.Picture=LoadPicture(CommonDialog1.FileName)'跟新image1内的图形
EndSub
PrivateSubCommand2_Click()
Text1.Enabled=True
Combo1.Enabled=True
Text3.Enabled=True
Text4.Enabled=True
Adodc1.Recordset.AddNew'录入
EndSub
PrivateSubCommand3_Click()'首记录
Adodc1.Refresh
Adodc1.Recordset.MoveFirst
EndSub
PrivateSubCommand4_Click()'更新数据库
Text1.Enabled=False
Combo1.Enabled=False
Text3.Enabled=False
Text4.Enabled=False
Adodc1.Recordset.Update
ask=MsgBox("数据库已更新",,"提示")
EndSub
PrivateSubCommand5_Click()
Adodc1.Refresh
Adodc1.Recordset.MoveLast
EndSub
PrivateSubCommand6_Click()'上一个
Adodc1.Recordset.MovePrevious
IfAdodc1.Recordset.BOFThenAdodc1.Recordset.MoveFirst
EndSub
PrivateSubCommand7_Click()'下一个
Adodc1.Recordset.MoveNext
IfAdodc1.Recordset.EOFThenAdodc1.Recordset.MoveLast
EndSub
PrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.Button)'快捷键设计
SelectCaseButton.Index
Case1
Form3.Show
Form2.Hide
Case2
Form3.Show
Form2.Hide
Case3
ask=MsgBox("真的要删除吗",vbYesNo)
Ifask=6Then
Adodc1.Recordset.Delete'调用删除函数
Adodc1.Recordset.MoveNext
IfAdodc1.Recordset.EOFThenAdodc1.Recordset.MoveLast
EndIf
Case4
Adodc1.Recordset.Update
DataReport1.Show
EndSelect
EndSub
PrivateSub报表_Click()'报表
DataReport1.Show
EndSub
PrivateSub饼图_Click()'饼图
Form3.Show
EndSub
PrivateSub播放器_Click()
Form4.Show
Form2.Hide
EndSub
PrivateSub插入_Click()'插入函数
Text1.Enabled=True
Combo1.Enabled=True
Text3.Enabled=True
Text4.Enabled=True
Adodc1.Recordset.AddNew
EndSub
PrivateSub查询窗口_Click()
Form3.Show
Form2.Hide
EndSub
PrivateSub退出_Click()
End
EndSub
3)查找,修改,删除窗口form3:
PrivateSubAdodc1_MoveComplete(ByValadReasonAsADODB.EventReasonEnum,ByValpErrorAsADODB.Error,adStatusAsADODB.EventStatusEnum,ByValpRecordsetAsADODB.Recordset20)
Adodc1.Caption="当前为第"&Adodc1.Recordset.AbsolutePosition&"个人,共有"&Adodc1.Recordset
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件专业的 vb课程设计报告 软件 专业 vb 课程设计 报告