VB课程设计报告.docx
《VB课程设计报告.docx》由会员分享,可在线阅读,更多相关《VB课程设计报告.docx(36页珍藏版)》请在冰豆网上搜索。
![VB课程设计报告.docx](https://file1.bdocx.com/fileroot1/2023-2/9/6480bb67-84da-4b1e-9dd5-433d0bba3fc9/6480bb67-84da-4b1e-9dd5-433d0bba3fc91.gif)
VB课程设计报告
北京XX大学XX学院
《计算机程序设计》
课程设计报告
学年第学期
起始周
班级
学生
指导教师
XXXXX系(部)
年月日
Ⅰ.实训要求
一.题目及要求
二.系统程序与开发
Ⅱ.设计实训题目功能
一.基本vb程序设计
二.顺序结构程序设计
三.选择结构程序设计
四.循环结构程序设计
五.数组
六.过程
七.图形程序设计
八.课外vb程序设计
Ⅲ.总结
一.各程序设计总结
二.小组组员分工
Ⅳ.附录
一.参考文献
VB演示系统报告
Ⅰ、实训要求
一.题目及要求
●VB程序演示系统:
1.按照程序设计教程的思路,把程序设计语言的语法基础,顺序结构,选择结构,循环结构,数组,过程等章节内容,通过相应的程序把相关的知识点展现出来;
2.用到所学的控件;
3.内容包括必做题,习题和例题,课外题目(每人编制6个以上);
4.除必做题外,平均每人完成题目15个以上。
5.要求系统结构清晰,简单适用,有很强的启发性。
●课程设计报告-基本要求:
1.题目
2.系统开发环境
3.系统设计及程序设计
◆功能模块图
◆各模块的实现
4.课程设计过程中遇到的问题与解决方法
5.总结(小组成员各自完成)
6.分工
7.附:
程序源程序
二.系统程序与开发
1.VisualBasic,简称VB,是Microsoft公司推出的一种Windows应用程序开发工具。
是当今世界上使用最广泛的编程语言之一,它也被公认为是编程效率最高的一种编程方法。
无论是开发功能强大、性能可靠的商务软件,还是编写能处理实际问题的实用小程序,VB都是最快速、最简便的方法。
何谓VisualBasic?
“Visual”指的是采用可视化的开发图,用户界面(GUI)的方法,一般不需要编写大量代码去描述界面元素的外观和位置,而只要把需要的控件拖放到屏幕上的相应位置即可;“Basic”指的是BASIC语言,因为VB是在原有的BASIC语言的基础上发展起来的,至今包含了数百条语句、函数及关键词,其中很多和WindowsGUI有直接关系。
专业人员可以用VisualBasic实现其它任何Windows编程语言的功能,而初学者只要掌握几个关键词就可以建立实用的应用程序。
VB提供了学习版、专业版和企业版,用以满足不同的开发需要。
学习版使编程人员很容易地开发Windows和WindowsNT的应用程序;专业版为专业编程人员提供了功能完备的开发工具;企业版允许专业人员以小组的形式来创建强健的分布式应用程序。
2.介绍界面构造
集成开发环境的顶部有标题栏、主菜单和工具栏。
下部有几个子窗口:
工具箱、窗体窗口、工程窗口、属性窗口及窗体布局窗口,根据需要,这些子窗口可以被关闭或打开。
3.对集成开发环境中的各元素作简要介绍
①.标题栏
用来显示窗口的标题。
②.主菜单
主菜单栏中含了使用VB6.0所需要的命令。
主菜单中共有13个菜单项,每个菜单项都有一个下拉菜单,内含若干个菜单命令,单击某个菜单项,即可打开该菜单,单击某个菜单中的某一条,就执行相应的命令。
③工具栏
它以图标按钮的形式提供了常用的菜单命令。
单击工具栏上的按钮,则执行该按钮所代表的操作。
④左面是VB的工具箱,
里面的各种图标是我们开发程序时经常用到的标准控件。
⑤.正中间是窗体编辑器,又称对象窗口。
我们程序的界面,大部分是在它上面设计的。
⑥.右上方是工程资源管理器,
它能让我们对整个工程进行整体性的管理。
⑦右中处的是属性窗口,
陈列着程序中所涉及的各种窗体和控件的属性。
⑧右下方是窗体布局区,
它能够调节程序运行时窗体在屏幕中的位置。
5.基本知识
①“工程”的概念。
VB把一个应用程序称为一个工程(Project),而一个工程又是各种类型的文件的集合,这些文件包括工程文件(.vbp)、窗体文件(.frm)、标准模块文件(.bas)、类模块文件(.cls)、资源文件(.res)、ActiveX文档(.dob)、ActiveX控件(.ocx)、用户控件文件(.ctl)、属性页文件(.pag)。
②需要指出的是,并不是每一个工程都要包括上述所有文件,VB要求一个工程至少包含两个文件,即工程文件(.vbp)和窗体文件(.frm)。
至于一个工程要包括多少种文件,由程序设计的复杂程度而定。
一个工程可以通过“工程窗口”来显示,工程窗口列出了当前工程所包含的文件清单。
VisualBasic的特点:
1.具有面向对象的可视化设计工具
2.事件驱动的编程机制
3.结构化的程序设计语言
4.提供了易学易用的应用程序集成开发环境
5.支持多种数据库系统的访问
6.高度可移植化的代码
7.VB6.0在开发环境上,网络功能等的大大增强
Ⅱ、设计实训题目功能
输入用户名和密码可以登录我们的界面。
在系统显示密码正确后进行登陆。
系统登陆主界面,等待1秒后可进入主界面。
主界面包括:
必做题、课内习题、课外题。
一.必做题
1.两位数四则运算器
对所显示的两位数四则运算进行计算,并同时显示:
“共答”、“正确”、“错误”、“成绩”的答题情况汇总。
返回上一级页面可单击“结束”按钮。
运算器程序代码如下:
Dimnum1AsInteger,num2AsInteger,nokAsInteger,ncuoAsInteger
DimresultAsSingle,kAsString,mAsDouble
PrivateSubCommand1_Click()
End
EndSub
PrivateSubForm_Load()
Randomize
num1=Int(Rnd*90)+10
Label2.Caption=num1
num2=Int(Rnd*90)+10
Label4.Caption=num2
k=Int(Rnd*4)+1
SelectCasek
Case1
Label3.Caption="+"
result=Val(num1+num2)
Case2
Label3.Caption="-"
result=Val(num1-num2)
Case3
Label3.Caption="*"
result=Val(num1*num2)
Case4
Label3.Caption="/"
result=Val(num1/num2)
EndSelect
EndSub
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
StaticiAsInteger
IfKeyAscii=13Then
m=Val(Text1.Text)
Ifresult=mThen
List1.AddItemLabel2.Caption&Label3.Caption&Label4.Caption&"="&m&"√"
nok=nok+1
Text3.Text=nok
Else
List1.AddItemLabel2.Caption&Label3.Caption&Label4.Caption&"="&m&"×"
ncuo=ncuo+1
Text4.Text=ncuo
EndIf
CallForm_Load
i=i+1
Text2.Text=i
Text1.Text=""
Text5.Text=Val((nok/i)*100)
EndIf
EndSub
2.判断生肖
选择或输入相应的出生年份,单击“判断”按钮,系统便会正确判断出相应年份的属相,并显示相应的生肖动物。
其代码如下:
PrivateSubCommand1_Click()
DimyearAsInteger
DimtempAsInteger
IfCombo1.Text<>""Then
year=Val(Combo1.Text)
EndIf
temp=yearMod12
SelectCasetemp
Case0
Label2.Caption="猴"
Image1.Picture=LoadPicture(App.Path&"/图片/猴.gif")
Case1
Label2.Caption="鸡"
Image1.Picture=LoadPicture(App.Path&"/图片/鸡.gif")
Case2
Label2.Caption="狗"
Image1.Picture=LoadPicture(App.Path&"/图片/狗.gif")
Case3
Label2.Caption="猪"
Image1.Picture=LoadPicture(App.Path&"/图片/猪.gif")
Case4
Label2.Caption="鼠"
Image1.Picture=LoadPicture(App.Path&"/图片/鼠.gif")
Case5
Label2.Caption="牛"
Image1.Picture=LoadPicture(App.Path&"/图片/牛.gif")
Case6
Label2.Caption="虎"
Image1.Picture=LoadPicture(App.Path&"/图片/虎.gif")
Case7
Label2.Caption="兔"
Image1.Picture=LoadPicture(App.Path&"/图片/兔.gif")
Case8
Label2.Caption="龙"
Image1.Picture=LoadPicture(App.Path&"/图片/龙.gif")
Case9
Label2.Caption="蛇"
Image1.Picture=LoadPicture(App.Path&"/图片/蛇.gif")
Case10
Label2.Caption="马"
Image1.Picture=LoadPicture(App.Path&"/图片/马.gif")
Case11
Label2.Caption="羊"
Image1.Picture=LoadPicture(App.Path&"/图片/羊.gif")
EndSelect
EndSub
PrivateSubForm_Load()
Label1.Caption="请选择或输入您的出生年份,系统将会判断出您的属相"
DimiAsInteger
Fori=1900To2010
Combo1.AddItemi
Nexti
Combo1.Text=Combo1.List(0)
EndSub
3.英文打字
在屏幕中随机生成英文字母并按一定速率下落,下落过程中敲击键盘上的按键,当按键与屏幕出现的字母相同时加10分,限时1分钟,计时达1分钟,系统进行提示。
界面显示相应得分并提示倒计时秒数。
按“暂停”按钮可暂停打字游戏,按“结束”按钮可结束该游戏。
代码如下:
DimscoreAsInteger
DimflagAsBoolean
PrivateSubCommand1_Click()
IfCommand1.Caption="开始"Then
Timer1.Enabled=True
Timer2.Enabled=True
Command1.Caption="暂停"
Else
Command1.Caption="开始"
Timer1.Enabled=False
Timer2.Enabled=False
EndIf
EndSub
PrivateSubCommand1_KeyPress(KeyAsciiAsInteger)
IfChr(KeyAscii)=Label4.CaptionThen
score=score+10
flag=False
CallTimer1_Timer
Beep
Label1.Caption="得分"&Str(score)&"分"
EndIf
EndSub
PrivateSubCommand2_Click()
UnloadMe
EndSub
PrivateSubForm_Load()
Label4.Caption=""
Label3.Caption="在屏幕中随机生成英文字母并按一定速率下落,下落过程中敲击键盘上的按键"_
&"当按键与屏幕出现的字母相同时加10分,限时1分钟"
EndSub
PrivateSubTimer1_Timer()
Ifflag=FalseThen
Label4.Caption=Chr(Int(Rnd*26)+97)
Label4.Left=Int(Rnd*Shape3.Width)+Shape3.Left
Label4.Top=1000
flag=True
Else
Label4.Top=Label4.Top+200
IfLabel4.Top>Shape3.Height-200Then
flag=False
EndIf
EndIf
EndSub
PrivateSubTimer2_Timer()
StaticiAsInteger
i=i+1
Label2.Caption="倒计时"&Str(60-i)&"秒"
Ifi>=60Then
IfMsgBox("一分钟的练习结束了是否继续?
",vbYesNo+vbQuestion,"提示")=vbYesThen
i=0
score=0
Else
i=0
score=0
Timer1.Enabled=False
Timer2.Enabled=False
Command1.Caption="开始"
EndIf
EndIf
EndSub
二、课内习题
1.顺序结构程序设计—简单使用
代码如下:
PrivateSubCommand1_Click()
Text1.Text="欢迎使用VisualBasic6.0"
EndSub
PrivateSubCommand2_Click()
Text1.Text=""
EndSub
PrivateSubCommand3_Click()
UnloadMe
EndSub
2.顺序结构程序设计—数据输入
代码输入:
PrivateSubText1_Change()
Text2.Text=LCase(Text1.Text)
Text3.Text=UCase(Text1.Text)
EndSub
3.顺序结构程序设计—程序设计举例
输入实发工作金额,单击“付款方式”按钮。
系统则会显示付款方案,包括人名币各金额的实发张数,点击“确定”可重新输入实发工资金额。
程序设计举例代码输入如下:
PrivateSubCommand1_Click()
DimbaiAsInteger
DimfiftyAsInteger,twentyAsInteger
DimtenAsInteger,fiveAsInteger
DimtwoAsInteger,oneAsInteger
DimpayAsString
salary=Val(Text1.Text)
bai=salary\100
salary=salaryMod100
fifty=salary\50
salary=salaryMod50
twenty=salary\20
salary=salaryMod20
ten=salary\10
salary=salaryMod10
five=salary\5
salary=salaryMod5
two=salary\2
salary=salaryMod2
one=salary
pay="百元张数:
"&bai&Chr$(13)&Chr$(10)&_
"50元张数:
"&fifty&Chr$(13)&Chr$(10)&_
"20元张数:
"&twenty&Chr$(13)&Chr$(10)&_
"5元张数:
"&five&Chr$(13)&Chr$(10)&_
"2元张数:
"&bai&Chr$(13)&Chr$(10)&"1元张数:
"&one
MsgBox"付款方案"&vbCrLf&pay,vbInformation=vbOKOnly,"付款方案"
EndSub
4.选择结构程序设计—选择性控件
界面所显示文字可根据“字体”、“字号”、“颜色”的选择改变而改变。
代码输入如下:
PrivateSubForm_Load()
Option1.Value=True
Option4.Value=True
Option7.Value=True
Label1.FontName="黑体"
Label1.FontSize=12
Label1.ForeColor=RGB(255,0,0)
EndSub
PrivateSubCommand1_Click()
IfOption1.ValueThenLabel1.FontName="黑体"
IfOption2.ValueThenLabel1.FontName="隶书"
IfOption3.ValueThenLabel1.FontName="幼圆"
IfOption4.ValueThenLabel1.FontSize=12
IfOption5.ValueThenLabel1.FontSize=20
IfOption6.ValueThenLabel1.FontSize=28
IfOption7.ValueThenLabel1.ForeColor=RGB(255,0,0)
IfOption8.ValueThenLabel1.ForeColor=RGB(0,255,0)
IfOption9.ValueThenLabel1.ForeColor=RGB(0,0,255)
EndSub
5.选择结构程序设计—时钟
设计代码如下:
PrivateSubForm_Load()
Label1.BorderStyle=1
Label1.FontSize=24
Label1.Caption=Time
Label1.Alignment=2
EndSub
PrivateSubTimer1_Timer()
Label1.Caption=Time
EndSub
6.循环结构程序设计—三位数排序
代码设计如下:
PrivateSubForm_Click()
Dima$,amn%,amx%,a1%,a2%,a3%,rmn%,rmx%
a=1
DoWhileLen(a)<>3OrNotIsNumeric(a)
a=InputBox("输入一个三位数")
a=Trim(a)
Loop
a1=Int(Val(a)/100)
a2=Int(Val(a)/10)-10*a1
a3=Val(a)-100*a1-10*a2
amx=(a1+a2)/2-Abs(a1-a2)/2
amn=(a2+a3)/2-Abs(a2-a3)/2
rmn=(amx+amn)/2-Abs(amx-amn)/2
Printa;":
";rmn,
amx=(a1+a2)/2+Abs(a1-a2)/2
amn=(a2+a3)/2+Abs(a2-a3)/2
rmx=(amx+amn)/2+Abs(amx-amn)/2
Printa1+a2+a3-rmn-rmx,rmx
EndSub
7.循环结构程序设计—for…next语句循环
此程序为1-n乘法运算,输入n的值,系统将会进行运算,得出正确数据。
输入代码如下:
PrivateSubCommand1_Click()
DimiAsInteger,nAsInteger,TAsLong
n=Val(InputBox("请输入n="))
Label1.Caption="1*2*3*……*"&n&"="
T=1
Fori=1Ton
T=T*i
Next
Text1.Text=T
EndSub
8.循环结构程序设计—do…loop语句
代码输入如下:
PrivateSubCommand1_Click()
DimnAsInteger,sAsLong
n=1
s=0
DoWhiles<=1000
s=s+n
n=n+1
Loop
Text1.Text=n
Label2.Caption="="&s
EndSub
9.循环结构程序设计—循环嵌套程序举例
代码设计如下:
PrivateSubForm_Load()
Show
FontSize=10
PrintTab(25);"乘法表"
Print
Print"*";
Fori=1To9
PrintTab(i*6);i;
Next
Print
Forj=1To9
Printj;"";
Fork=1To9
PrintTab(6*k);j*k;
Nextk
Print
Nextj
EndSub
10.数组—静态数组
代码输入如下:
Dimn(1To10)AsString
PrivateSubForm_Load()
n
(1)="高扬"