Vb程序设计报告模板

时间:2024.3.27

长江大学工程技术学院

VB语言程序设计课程设计报告

(20##-20##学年 第一学期)

一、设计思路

1.要达到的目的 :

(1)联系的范围是:0-9,a-z,A-Z共62个字符,基本能满足键盘练习的要求。

(2)每次从窗口上端随机出现一个彩色字符,每隔一定时间(级数*100毫秒)下降一次,用户从键盘输入相同字符,则字符被击中后消失,用户得分等于10减去增加时间去下降次数字符输入不同则扣十分,若一直不能被击中则下降十次后达到窗口底部消失,窗口上端出现一个新的字符。

(3)游戏共分十级,第十级最低,每级游戏中低分为 50,得到300分则过关。

2.关键问题的解决 :
(1) 打字窗口可以选择PictureBox控件,而字符的下降则可以有Label控件在PictureBox中移动实现。所以在界面设计时先添加一个PictureBox控件,再在PictureBox控件中来添加Label控件,这样Label控件的容量就是PictureBox控件,以实现能在其中实现。

(2)字符通过随机函数(Rnd)来产生,由于三组字符分别在三个连续的ASCII码区域,所以可以先产生一个随机数,确定出现的字符是数字、大学字母还是小写字母,然后在不同的区域产生随机数。字符总是在窗口的顶端出现,水平位置及颜色则随机产生。

(3)用ProgressBar控件来计分,程序中要使用的重要属性有以下几项:

Max:控件允许使用的最大值;

Min:控件允许使用的最小值;

Value:控件当前的值;

Scrorlling:控件显示类型,为0时先时间段进程条,为1时先时间连续程条。

(4)每一级游戏开始时,要将程序焦点赋予给打字窗口即PictureBox控件,通过键盘按键(发生Keypress事件)suodedeASCII码来判断是否击中目标。

二、模块之间的调用关系和程序流程图

游戏设置:F111控制级数,F131控制字符组合,选择开始级别及字符组合。

开始:通过Cmdbegin(Command)控件来控制游戏的开始。

帮助:通过Cmdhelp(Command)来控制游戏说明。

退出:Cmdexit(Command)来控制游戏结束。

显示字符:将lable控件放在PictureBox中来显示并移动字符。

字符颜色:通过Pic控件来控制字符的随即颜色。

计分:通过ProgressBar控件来计分,并通过IF语句来控制得分以及升级。

 


                                       

                                       

三、部分程序关键源代码及注释
Dim df, jb, a, xjcs As Integer            ’df、jb、xics分别存放得分、级别、下降次数

Timer1.Enabled = True                     ’定时器开始工作

Private Sub F111_Click(Index As Integer)  ’对应菜单栏中的级别

jb = 11 – Index                          ’把菜单栏中选择的级数赋给jb

Private Sub F131_Click(Index As Integer)  ’菜单栏中的字符选择

Lblword.Caption = Chr(char)               ’字符标签的标题即为字符

Lblword.Visible = True                    ’是的字符可见

Pic1.SetFocus                             ’把程序焦点给Pic1

Private Sub form_load()      jb = 10      ’当不再菜单栏中选择级数时,默认级数为10级

If Chr$(keyAscii) = Lblword.Caption Then  ’判断分数是否达到升级或结束及通关条件

Lblword.ForeColor = QBColor(Int(Rnd * 14 + 1)) ’随机产生字符颜色

If Chr$(keyAscii) = Lblword.Caption Then

df = df + 10 – xjcs                  ’控制得分

If jb >= 1 Then MsgBox "恭喜过关!请参加第" & jb - 1 & "级练习.", , "打字练习”"

       jb = jb - 1

   If jb = 0 Then jb = 10: MsgBox "恭喜全部过关,真是高手!" ’控制升级或通关

Case 5

char = Int(Rnd * 2)

Select Case char

Case 0

char = 97 + Int(Rnd * 26)

Case 1

char = 65 + Int(Rnd * 26)

End Select                           ’照这样格式写出7种字符组合


四、设计方案的完善及目前存在的问题
1.设计方案要完善的地方
    在把书上的东西写到VB中,调试好后,还要用菜单的方式把增强功能做出来,以保证设计版面的整洁、美观。

在程序编好后,还要把程序整体整理一遍,去掉多余的程序,并且尽量把程序简单化,使程序更加简洁,更加易懂。
2. 目前存在的问题
不管在菜单栏中的级数栏中选择级别几,在程序开始时,始终是显示“开始第一关”。


五、本次设计的收获及心得体会(不少于500字)

经过了一个多星期(几个下午)的Vb课程设计,感觉收获不少。

虽然在程序设计的过程中遇到了不少麻烦(代码输入错误、各属性没与程序对应好……),后来由因为增强功能做不出来,也曾打算放弃这个程序的设计,去做其它的程序,但最后还是硬着头皮的做了下来,当我用TextBox(用一个这个控件控制开始级数)和CheckBox(用三个来控制字符的选择)控件做的差不多了的时候,还有点小问题,问老师后,老师又说不能用这种方法做,这种方法使界面不美观,一定要用菜单方式把增强功能做出来,这样做出来的东西版面才会更加美观整洁。

当时,我真的一点都不想再做下去了,但想到这个题目已经做了一大半,快接近尾声了,也不想就此放弃,再做其它的程序。于是,就还是坚持坐了下来,不懂的就问老师,经过数次修改后,加了增强功能的程序终于给我编出来了。

从中也清楚了VB编程中需要注意的各方面问题(控件代码、属性及程序输入错误……),也体会到任何事,不能轻言放弃,只要坚持下去,就有机会成功!

在VB方面,我还对控件的灵活运用有了更深的了解,能更加灵活的使用各种控件,还是我清楚了控件个属性和程序编写使各方面对应及需要注意的事项!

六、参考文献

[1] 邵洁,刘岳峰,蒲阳,程劼编著. Visual Basic 实验与测试(第四版). 东南大学出版社,2008

[2] 邵洁,刘岳峰,蒲阳,程劼编著. Visual Basic 程序设计(第四版). 东南大学出版社,2008

[3] 邵洁,刘岳峰,苏萍编著. Visual Basic 6.0复习指导和实习教程. 杭州:中国美术学院出版社,2008


第二篇:VB程序设计实验要求及报告8答案详解


上海立信会计学院本科实验报告

班级:                 学号:      姓名:                 指导教师:           

系部:                    专业:               实验时间:                      

实验8   数据文件及图形操作

一、     实验目的

1.  掌握顺序文件的特点和使用

2.  掌握顺序文件的打开、关闭和读写操作

3.  掌握在应用程序中使用文件

4.  掌握图形操作

二、实验要求

1.  在C:\下建立子文件夹“VB实验8”,按照题目要求,在该文件夹下为各题保存相应的文件,如本实验中的第一题,需保存的文件有:工程文件(81.vbp)、窗体文件(81.frm) 及可执行文件(81.exe),本实验中的第二题,需保存的文件有:工程文件(82.vbp)、窗体文件(82.frm) 及可执行文件(82.exe),其余实验依此类推。

2.  撰写实验过程中出现了哪些问题、错误,你是如何解决的,做一个小结。

三、                   实验内容:

1.       设计一个应用程序,窗体内所有控件字体为宋体、大小为五号,运行界面如图8-1所示。若单击“建立文件”按钮,则分别用Print # 和 Write # 语句将三个同学的学号、姓名和成绩写入(当前目录)文件Score.dat和Score1.dat;若单击“读取文件”按钮,则用line Input 语句按行将两个(当前目录)文件中的数据送往相应的文本框。其中:学号和姓名是字符串类型,成绩是整型:数据如下: "051023", "王海涛", 66

 "051024", "周文英", 88

"051025", "王海涛", 71

图8-1

Private Sub Command1_Click()

Open "score.dat" For Output As #1

Print #1, "051023", "王海涛anghai", 66

Print #1, "051024", "周文英", 88

Print #1, "051025", "王海涛", 71

Close #1

Shell "notepad score.dat"

Open "score1.dat" For Output As #1

Write #1, "051023", "王海涛", 66

Write #1, "051024", "周文英", 88

Write #1, "051025", "王海涛", 71

Close #1

Shell "notepad score1.dat"

End Sub

Private Sub Command2_Click()

Dim inputdata As String

Open "score.dat" For Input As #1

Do While Not EOF(1)

    Line Input #1, inputdata

    Text1.Text = Text1.Text + inputdata + vbCrLf

Loop

Close #1

Open "score1.dat" For Input As #1

Do While Not EOF(1)

    Line Input #1, inputdata

    Text2.Text = Text2.Text + inputdata + vbCrLf

Loop

Close #1

End Sub

Private Sub Form_Load()

Text1.Text = ""

Text2.Text = ""

End Sub

2.       设计一个应用程序,界面如图8-2(1),窗体内所有控件字体为宋体、大小为五号,点击“建立文件”按钮,则建立数组num,数组元素为10个小于100的随机整数,将数组数据写入文件(当前目录)Fb.dat,文件内容及格式如图8-2(2);点击“读取文件”按钮,则从(当前目录)Fb.dat文件中将数据读取出来,显示在列表框中,并计算这些数的合计与平均数,并把计算结果也显示在列表框中。

       

                  图8-2 (1)                               图8-2 (2)    

Private Sub Command1_Click()

Dim num(9) As Integer

Dim i%, outputstring As String

Open "Fb.dat" For Output As #1

For i = 0 To 9

    num(i) = Int(Rnd * 100)

    outputstring = "num(" & i & ")="

    Write #1, outputstring, num(i)

Next i

Close #1

End Sub

Private Sub Command2_Click()

Dim sum%, ave!

Dim inputstring As String, inputdata As Integer

Open "Fb.dat" For Input As #1

sum = 0

Do While Not EOF(1)

     Input #1, inputstring, inputdata

     List1.AddItem inputstring & inputdata

     sum = sum + inputdata

Loop

Close #1

List1.AddItem "合计:" & sum

ave = sum / 10

List1.AddItem "平均:" & ave

End Sub

Private Sub Form_Load()

'

Randomize

End Sub

3.       设计一个应用程序,界面如图8-3,窗体内所有控件字体为宋体、大小为五号。

要求:

1)  点击“打开文件”按钮,则弹出一个“打开”通用对话框,用户选择文件后将文件内容显示在文本框中;“C:\VB实验8”下的“实验83.txt”供调试使用;

2)  点击“保存文件”按钮,则弹出“另存为”通用对话框,用户确定文件保存目录为“C:\VB实验8”,文件名为83.dat,保存内容为文本框中显示的所有文字内容;

3)  点击“结束”,则退出程序。

图8-3

Private Sub Command1_Click()

CommonDialog1.Filter = "Text files(*.txt)|*.txt|Data files(*.dat)|*.dat|All files(*.*)|*.*"

CommonDialog1.FilterIndex = 1

CommonDialog1.FileName = ""

CommonDialog1.Action = 1

Open CommonDialog1.FileName For Input As #1

Do While Not EOF(1)

    Line Input #1, inputdata

    Text1.Text = Text1.Text + inputdata + vbCrLf

Loop

Close #1

End Sub

Private Sub Command2_Click()

CommonDialog1.Filter = "Text files(*.txt)|*.txt|Data files(*.dat)|*.dat|All files(*.*)|*.*"

CommonDialog1.FilterIndex = 2

CommonDialog1.FileName = ""

CommonDialog1.Action = 2

Open CommonDialog1.FileName For Output As #1

Print #1, Text1.Text

Close #1

End Sub

Private Sub Command4_Click()

End

End Sub

Private Sub Form_Load()

Text1.Text = ""

End Sub

4.       编一循环程序,单击窗体后,用Line方法在屏幕上随机产生20条长度、颜色(用QBColor实现)、宽度(2-4单位)各异的直线,效果图8-4所示。

图8-4

Private Sub Form_Click()

Cls

Dim i%, lx1%, lx2%, lx3%, lx4%, c$

Randomize

For i = 1 To 20

 lx1 = Rnd * Form1.ScaleWidth

 ly1 = Rnd * Form1.ScaleHeight

 lx2 = Rnd * Form1.ScaleWidth

 ly2 = Rnd * Form1.ScaleHeight

 Form1.DrawWidth = Int(Rnd * 3 + 2)

 c = RGB(Rnd * 255, Rnd * 255, Rnd * 255) 'QBColor(Rnd * 15)

 Line (lx1, ly1)-(lx2, ly2), c

Next i

End Sub

5.       编一程序,单击窗体后,用Pest方法在窗体内画200个随机彩色点(颜色用QBColor实现),点的大小在单位3~6之间变化,如图8-5所示。

图8-5

Private Sub Form_Click()

Cls

Dim i%, lx1%, lx2%, c$

Randomize

For i = 1 To 200

 lx1 = Rnd * Form1.ScaleWidth

 ly1 = Rnd * Form1.ScaleHeight

 Form1.DrawWidth = Int(Rnd * 4 + 3)

 c = RGB(Rnd * 255, Rnd * 255, Rnd * 255) 'QBColor(Rnd * 15)

 PSet (lx1, ly1), c

Next i

End Sub

6.       编一程序,在窗体上放置一个“绘图”按钮。单击“绘图”按钮,定义窗体的坐标体系为(-5, 5) - (7, -8);用Line方法在窗体上按阿基米德螺线方程在0~2π之间展开直线(直线的一端为坐标系原点,另一端坐标用阿基米德方程计算),要求直线的颜色随机变化(用QBColor实现),步长为0.1,如图8-6所示。

图8-6

Private Sub Command1_Click()

Cls

Dim a!, c$

Randomize

Form1.DrawWidth = 1

Form1.Scale (-4, 4)-(4, -8)

For a = 0 To 6.28 Step 0.1

  c = RGB(Rnd * 255, Rnd * 255, Rnd * 255) 'QBColor(Rnd * 15)

  Line (0, 0)-(a * Cos(a), a * Sin(a)), c

Next a

End Sub

7.       编一程序,单击窗体后,用Circle方法在窗体上绘制如图8-7所示图案,圆心x随坐标递增,y始终为窗体高度的一半,半径随x而变化。

图8-7

Private Sub Form_click()

Dim x%

For x = 0 To 20## Step 50

  Form1.Circle (500 + x, Form1.ScaleHeight / 2), x / 2

Next x

End Sub

四、    实验过程中的问题、错误,解决方法,总结、体会、建议。

更多相关推荐:
程序设计实验报告模板

C语言程序设计实验报告1实验目的(1)掌握函数的定义方法、调用方法、参数说明以及返回值;(2)掌握实参与形参的对应关系,以及参数之间的值传递的方式;(3)掌握函数的嵌套调用及递归调用的设计方法;(4)在编程过程…

程序设计实践_报告模板

程序设计实践报告题目题目名称学生姓名教学院系专业年级指导教师单位辅导教师单位张三学号1001020xx4职称职称完成日期年月日SouthwestPetroleumUniversityProgrammingPap...

程序设计报告模板

北京邮电大学信息与通信工程学院程序设计实践设计报告课题名称windows编程画图时钟学生姓名孙振超班级20xx211111班内序号24学号20xx210326日期20xx年4月30号第1页北京邮电大学信息与通信...

C++课程设计报告模板

华东交通大学课程设计华东交通大学课程设计课程设计题目学生成绩管理课程C程序设计题目学生成绩管理年级20xx级专业学号20xx0210010313姓名刘耀华指导教师1华东交通大学课程设计课程设计论文任务书电气学院...

程序设计报告模板

北京化工大学计算机科学与技术专业20xx程序设计实训报告题目个人记账软件专业计算机科学与技术班级计科1305指导教师江志英北京化工大学20xx程序设计实训20xx程序设计实训任务书I北京化工大学20xx程序设计...

Web程序设计用大作业报告模板

武汉工业学院Web高级程序设计大作业报告专业学号090502227姓名日期一需求分析1引言随着网络与信息技术的发展很多陌生人之间都有了或多或少的联系如何更好地管理这些信息是没跟人必须面临的问题特别是那些很久没有...

课程设计报告模板(JAVA程序设计)

河南城建学院JAVA程序设计课程设计设计说明书课程名称JAVA程序设计课程设计设计题目学生成绩管理系统指导教师陈红军班级计科1班学号081211226学生姓名同组人员计算机科学与工程系20xx年9月X日JAVA...

Visual BasicNET程序设计实验报告格式

VisualBasicNET程序设计实验报告格式学号姓名实验日期实验成绩12

软件工程A程序设计综合实验报告格式

华北科技学院计算机系综合性实验实验报告课程名称软件工程A实验学期20xx至20xx学年第1学期任课教师彭珍实验成绩计算机系制华北科技学院计算机系综合性实验报告软件工程A课程综合性实验报告第1页华北科技学院计算机...

《面向对象程序设计》课程设计报告模板

面向对象程序设计程序设计报告课程设计2020学年第学期设计题目职工工资管理系统设计院系计算机科学与信息工程学院专业班级学号学生姓名设计时间20年1月日20xx年1月日指导教师提交日期20年月日1面向对象程序设计...

《C++程序设计》实验报告模板(刘伟)

CENTRALSOUTHUNIVERSITYCC程序设计实验报告实验名称对象和类的更多内容学生姓名学生学号3901120xx8专业班级软件工程1205班指导教师刘伟完成时间20xx年1月5日实验九对象和类练习1...

c#程序设计报告

目录一实习内容2二主要改进内容2一工程的建立2二变量的定义3三函数的声明及文件的定义4四init函数的主要修改部分5五positioninttmpintC函数的主要修改部分7六tempTestinti函数的主要...

程序设计报告模板(32篇)