VB综合实验报告.docx
《VB综合实验报告.docx》由会员分享,可在线阅读,更多相关《VB综合实验报告.docx(15页珍藏版)》请在冰点文库上搜索。
VB综合实验报告
华北科技学院计算机学院综合性实验
实验报告
课程名称程序设计语言(VB)
实验学期2014至2015学年第二学期
学生所在院部安全工程学院安全工程专业
年级2014级班级安全B14某班
学生姓名XXX学号201410044XXX
任课教师徐花芬
实验成绩
计算机学院制
《程序设计语言(VB)》课程综合性实验报告
开课实验室:
基础三2015年7月10日
实验题目
VisualBasic综合应用程序开发
一、实验目的
1、掌握数组的应用:
(1)数组的定义
(2)数组的基本操作,包括数组的输入输出、数组元素的比较、求平均值、数组的排序等。
2、会使用过程编程和字符串操作
(1)sub过程的定义与调用
(2)function过程的定义调用
(3)字符串的大小写转换操作
3、掌握基本控件的使用
包括常用标准控件的使用,如标签、按钮、文本框、单选按钮、滚动条等。
4、掌握菜单和工具栏的使用
二、设备与环境
硬件:
多媒体计算机
软件:
Windows2000以上的操作系统、VisualBasic集成开发环境
三、实验内容
1.先进入欢迎界面,在屏幕上显示"欢迎您使用本程序",并弹出密码框,等待输入密码。
(5%)
2.密码正确后进入系统主界面,主界面包括“数组应用”、“过程应用”、“控件应用”和“退出”等菜单,并提供相关工具栏或命令按钮。
(10%)
3.“数组应用”菜单中包括“数组操作”子菜单,单击此菜单,弹出“数组操作”对话框,。
(35%,每个按钮功能为5%)。
题目描述如下:
在名称为“数组操作”的窗体上有一个label控件,4个text控件及7个命令按钮,功能如下:
(1)开始启动工程时,界面上除“输入”及“返回”按钮之外,其他按钮均不可用(灰色显示)。
(2)单击“输入”按钮之后,利用inputbox让用户连续且必须输入10个整数。
若输入为非数字符号,则给出警告“输入数据无效,请重新输入,请输入第n个数”。
(3)输入完毕后,“输入”按钮变灰,其他变为可用状态。
(4)按相应的按钮可分别将输入的数据升序或降序排列,及求最大、最小值,并在右侧对应的文本框中显示(注意用A(10)存放最大数,A
(1)存放最小数)。
(5)单击“清空”按钮将所有文本框清空。
4.“过程应用”菜单中包括“字符转换”子菜单,单击此菜单,弹出“字符转换”对话框,要求必须将“大小写转换”功能定义为一个sub过程,通过调用该过程完成大小写转换。
(25%)
题目描述如下:
在“字符转换”窗体上有两个文本框、三个单选按钮和一个命令按钮。
运行时,在text1中输入若干个大写和小写字母,并选中一个单选按钮,再单击“转换”按钮,则按选中的单选按钮的标题进行转换,结果放入text2。
5.单击“控件应用”菜单,弹出“数学运算”对话框。
(25%)
题目描述如下:
在“数学运算”窗体上有一个名称为cmd1、标题为“计算”的命令按钮;两个水平滚动条,名称为hs1和hs2,其max属性均为100,min属性为1;四个标签,名称为lab1、lab2、lab3和lab4,标题分别为“运算数1”、“运算数2”、“运算结果”和空白;此外还有一个包含四个单选按钮的控件数组,名称为opt1,标题为“+”、“-”、“*”和“/”。
程序运行后,移动两个滚动条中的滚动框,用滚动条的当前值作为运算数,如果选中一个单选按钮,然后单击命令按钮,相应的计算结果将显示在lab4中。
6.单击“退出”菜单,退出程序运行。
四.实验结果及分析
1.工程资源管理窗口:
系统组成情况
图1工程资源管理器
2.欢迎窗口:
图2欢迎登陆界面
图3输入密码窗口图
该版面程序代码:
PrivateSubCommand1_Click()
IfText1.Text=123456Then
Form2.Show
Form1.Hide
Else
MsgBox"密码错误",,"警告"
Text1=""
EndIf
EndSub
PrivateSubCommand2_Click()
End
EndSub
3.主界面窗口:
图4主界面窗口图
该版面程序代码:
PrivateSubdd_Click()
Form3.Show
Form2.Hide
EndSub
PrivateSub数学_Click()
Form5.Show
Form2.Hide
EndSub
PrivateSub退出_Click()
End
EndSub
PrivateSub字符_Click()
Form4.Show
Form2.Hide
EndSub
4.数组操作:
图5数组操作窗口图
该版面程序代码:
Dimm(1To10)AsInteger
PrivateSubCommand1_Click()
n=UBound(m)
Fori=1Ton-1
Forj=i+1Ton
Ifm(j)t=m(i)
m(i)=m(j)
m(j)=t
EndIf
Nextj
Nexti
Fori=1To10
Text1.Text=Text1.Text&""&m(i):
Nexti
EndSub
图6输入窗口图
PrivateSubCommand2_Click()
y=UBound(m)
Fori=1Toy-1
Forj=i+1Toy
Ifm(j)>m(i)Then
t=m(i)
m(i)=m(j)
m(j)=t
EndIf
Nextj
Nexti
Fori=1To10
Text2.Text=Text2.Text&""&m(i)
Nexti
EndSub
PrivateSubCommand3_Click()
Fori=1To10
Max=m
(1)
Ifm(i)>MaxThen
Max=m(i)
EndIf
Nexti
Text3.Text=Max
EndSub
PrivateSubCommand4_Click()
Fori=1To10
Min=m
(1)
Ifm(i)Min=m(i)
EndIf
Nexti
Text4.Text=Min
EndSub
图7警告窗口图
该版面程序代码:
PrivateSubCommand5_Click()
Fori=1To10
t=InputBox("输入第"&i&"个整数","输入","")
DoWhileNotIsNumeric(t)
MsgBox"必须是整数,请重新输入",,"警告"
t=InputBox("请重新输入第"&i&"个整数","输入","")
Loop
m(i)=Val(t)
Nexti
Command1.Enabled=True
Command2.Enabled=True
Command3.Enabled=True
Command4.Enabled=True
Command5.Enabled=False
Command6.Enabled=True
Command7.Enabled=True
EndSub
PrivateSubCommand6_Click()
Text1=""
Text2=""
Text3=""
Text4=""
Command1.Enabled=False
Command2.Enabled=False
Command3.Enabled=False
Command4.Enabled=False
Command5.Enabled=True
Command6.Enabled=False
Command7.Enabled=True
EndSub
PrivateSubCommand7_Click()
Form2.Show
Form3.Hide
EndSub
PrivateSubForm_Load()
Command1.Enabled=False
Command2.Enabled=False
Command3.Enabled=False
Command4.Enabled=False
Command5.Enabled=True
Command6.Enabled=False
Command7.Enabled=True
EndSub
图8该程序效果图
5.字符转换:
图9字符转换窗口图
该版面程序代码:
PrivateSubCommand1_Click()
Dimn$,i%
IfOption2Then
Label3=UCase(Text1.Text)
EndIf
IfOption3Then
Label3=LCase(Text1.Text)
EndIf
IfOption1Then
Label3=""
Fori=1ToLen(Text1)
n=Mid(Text1,i,1)
IfAsc(n)>96Then
n=UCase(n)
Else
n=LCase(n)
EndIf
Label3=Label3&n
Nexti
EndIf
EndSub
PrivateSubCommand2_Click()
Form2.Show
Form4.Hide
EndSub
图10该程序效果图
6.数学运算:
图11数学运算窗口图
该版面程序代码:
PrivateSubCommand1_Click()
a=Val(Label3)
b=Val(Label4)
IfOption1.Value=TrueThen
s=a+b
Label6=Label3&"+"&Label4&"="&s
EndIf
IfOption2.Value=TrueThen
s=a-b
Label6=Label3&"-"&Label4&"="&s
EndIf
IfOption3.Value=TrueThen
s=a*b
Label6=Label3&"*"&Label4&"="&s
EndIf
IfOption4.Value=TrueThen
s=a/b
Label6=Label3&"/"&Label4&"="&s
EndIf
EndSub
PrivateSubCommand2_Click()
Form2.Show
Form5.Hide
EndSub
PrivateSubHScroll1_Change()
Label3=HScroll1.Value
EndSub
PrivateSubHScroll2_Change()
Label4=HScroll2.Value
EndSub
图12该程序效果图
五、总结
通过这次综合作业,将这学期所学习的重点知识都复习了一遍。
本次实验检验了自己的学习成果,虽然实验有点难度,但在参考课本的例题及老师同学的帮助下成功完成。
我觉得要学好这门课,要多背记函数、代码等,弄清每种工具的属性,而且做任何事都要有计划有步骤的进行,切不可心急,要用心去做多向他人学习,多向他人请教。
在实际操作的时候,也出现了许多的问题,这让我意识到自己的程序在很多方面还存在着问题,自己还可以做得更完美。
因为是第一次做这样一套相对完整程序,好多地方设计地很死板,我以后要将程序设计得更人性化,运用自己所学的知识来解决现实生活中的问题。
教师评价
评定项目
A
B
C
D
评定项目
A
B
C
D
算法正确
界面美观,布局合理
程序结构合理
操作熟练
工作量大小
答辩表现
实验结果正确
文字流畅
报告规范
学习态度
其他:
评价教师签名:
年月日