VB程序设计课程报告

时间:2024.4.20

课程综合设计报告


目录

一、课程的主要目标. 1

二、课程设计的介绍. 1

三、课程设计的主要功能. 1

1、窗体一(Form1) 1

2、窗体二(Form2) 2

四、课程设计的主要特色. 2

五、功能扩展设想. 3

六、设计过程中遇到的主要问题及解决方法. 3

七、课程设计的主要分工. 4


正  文

一、课程的主要目标

为了增加学习的乐趣,调动大家的积极性,我们组讨论后最终决定制作一个小游戏,名字是“大家一起来找茬”,这个课程的目标是熟练掌握各种控件的作用,体验程序设计的基本思想方法,实践与理论的结合,在设计过程中自己发现问题,提出问题,解决问题,实现知识的迁移,循序渐进,由繁到简。在设计过程中,我们充分得体会到了知识的欠缺与不熟练,但是通过这次学习,我们能够对基本的语句灵活运用,掌握了上机调试程序的基本技能。总而言之,通过这次设计,我们充分地了解到了自己的不足,并且有克服困难的决心,最后圆满的完成了我们最初的设想。

二、课程设计的介绍

我们组的设计是一款很简单的小游戏---大家一起来找茬。

这个游戏就是找出两幅图的不同处,用鼠标点击左边图片的不同处,便会出现一个笑脸的图片,表示选正确了。游戏共设置了4关卡。5个窗体,后4个窗体是雷同的,只是两张图片不同。

三、课程设计的主要功能

1、窗体一(Form1)

其中有5个标签,1个时钟控件,1个文本框

文本框(Text1):输入选择的关卡。

Label4(GO):单击Label4(GO)时,便进入您所选择的关卡。关卡只能是1-4,否则弹出“输入关卡有误,请重新输入!”卸载某些image中装载的笑脸图片。

Label3(退出):结束游戏。

Label5(游戏说明):单击Label5(游戏说明)时,会弹出“找出两幅图的不同处,点击左边的图片不同处。时间共60秒!”并且,Label5(游戏说明)会变红、绿、蓝三种颜色,用Timer1控制时间,使其1秒变一次色。变色时为了引起游戏玩家的注意,同时使窗体更美观。

2、窗体二(Form2)

其中有6个图像,2个时钟控件,4个标签,1个文本框,3个命令按钮
图像(image1--image6):①Image1为对照图片,已装载 。

                   ② Image2--image6未装载图片,当玩家点击时,装载笑脸图像,表示正确。若规定时间内最后在image2处找到不同,即text1的值为0,则提示为“恭喜您通过第一关,进入下一关”;若为image3,则提示为“过关了耶,THE NEXT”;若image4,则为“恭喜您通过第一关,进入下一关,噶吗爹”;若image5,则“( ^_^ )不错嘛,继续加油”;若image6,则“COME ON,THE NEXT”。
时钟控件:①Timer1控制剩余秒数的label3红~绿~蓝颜色变化。
      ②Timer2控制时钟的倒计时,为零且玩家未找到所有不同处时提示“时间 已到!失败是成功的妈妈,加油!”。
标签:①label1(剩余不同数)与 label2(剩余时间)起提醒作用。
   ②Label3的标题为剩余时间秒数,且有红~绿~蓝的1秒间隔变化。
   ③Label7为标题是“大家来找茬”的橙色背景标签,当玩家单击command2(暂停)时, 其可见性为false;单击command3(继续)时,其可见性为true。
文本框(text1):内容为玩家在图片处未找到的剩余不同数,为零时有提示,详见image2——image6处介绍。
命令按钮:①command1(退出)单击则窗体二卸载,返回至窗体一;窗体一的text1(可选择关卡数值)内容清空,且获得焦点,可重选关卡。
     ②Command2(暂停)单击则暂停计时,使label7的可见性为真,6个image的可见性为假,则此时窗体二显示为“大家来找茬”的标签。
     ③Command3(继续)单击则继续计时,且label7的可见性为假,6个image的可见性为真,则此时玩家可继续玩游戏。

四、课程设计的主要特色

通过本程序的设计,一方面此课程设计可应用于幼儿开发智力,生动有趣的图片、动感有力的游戏音乐,无论在视觉还是听觉上都会给人一种有活力有朝气的享受;另一方面组员得到了一定的锻炼,当前社会更加注重大学生的实践能力,大学生的综合素质尤为重要。在商业经济高度发展的今天,企业需要的是理论知识与实践经验完备的人才,因此作为时代的新秀,大学生十分有必要抓住在校的有效时间,积极锻炼自己提高综合素质。在提高学生学习主动性积极性的同时,使学生通过学习体会进一步提升自己的各方面能力和价值观念。而本次课程设计正契合这一前提,通过这一实践学生搭建一条理论知识与实践经验结合的桥梁,从而进一步完备学生的能力和综合素质。组员们通过课程设计修改及应用,较好地提高了自身的计算机能力、综合素质等。

五、功能扩展设想

只是单找图片的不同之处,可能显得比较单调,于是小组成员认为可以加入一些元素。比如:可以加入商店,道具,奖励类,当在游戏过程中有时间限制将到,但不同处仍未找到时,可以加时,或提供帮助,对此,又可以在前面的所得到的奖励中相互抵消。当然,这些扩展都可在商店中实现。就“大家来找茬”游戏本身,小组虽是经一番努力才完成,或许玩家玩了一,两遍后就会感到很无聊。对此,小组一致认为可以多加些关卡,,并以随机形式出现,使得游戏的趣味性和复杂性得以增加。

六、设计过程中遇到的主要问题及解决方法

在编程过程中我们先把大体的代码写出来,然后反复运行,找出不足,再修改。主要遇到两个问题。一是,把装载到image中的图片再卸载下来。二是,加入声音时不会申明变量。经过查阅书籍和网上查找知道“set image1.picture=Nothing”可以卸载image中的图片。还有,有”playsound”语句时要先声明变量“Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long”


七、课程设计的主要分工


第二篇:VB程序设计实验要求及报告6


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

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

系部:                    专业:               实验时间:                      

实验6   列表框、组合框与过程

一、     实验目的

1.  掌握列表框和组合框的使用

2.  掌握自定义函数过程和子过程的定义和调用方法

3.  掌握形参和实参之间的对应关系

4.  掌握值传递和地址传递的传递方式

二、实验要求

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

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

三、                   实验内容:

1.       设计一个选课的运行界面,如图6-1(a)所示。它包含2个列表框,左边为可供选择的课程名称,通过Form_Load事件加入,并按拼音字母顺序排序;当单击某门课程名称后,将该课程加入到右边的列表框中,并在左边列表框中删除该课程。当右边课程数已满5门时,不允许再加入并出现如图6-1(b)所示的提示。窗体及所有控件字体默认、大小均为小四。

 

图6-1 (a)                             图6-1 (b)

Private Sub Form_Load()

  List1.AddItem "C/C++程序设计 "

  List1.AddItem "VB程序设计 "

  List1.AddItem ""数据库数据与应用

  List1.AddItem "硬件技术基础"

  List1.AddItem "Web程序设计"

  List1.AddItem "多媒体技术与应用"

  List1.AddItem "网络技术与应用"

  List1.AddItem "软件技术基础"

  List1.AddItem "大学计算机基础"

End Sub

Private Sub List1_Click()

  If List2.ListCount < 5 Then

    List2.AddItem List1.Text

    List1.RemoveItem List1.ListIndex

  Else

    MsgBox "超过5门功课,不能再选", , "信息提示"

  End If

End Sub

2.       在窗体上建立一个简单组合框,在组合框的文本区输入数字字符,按回车键后加入到组合框的列表区内(非数字则不加入),然后清空文本区,如图6-2(a)所示;单击“交换”按钮后,可将组合框列表区中最小值项目和第0个项目交换;最大值项目与最后项交换, 如图6-2(b)所示。窗体中所有控件字体默认大小。

      

                  图6-2(a)                           图6-2(b)

Private Sub Combo1_KeyPress(KeyAscii As Integer)

  If KeyAscii = 13 Then

    If IsNumeric(Combo1.Text) Then

      Combo1.AddItem Combo1.Text

    End If

    Combo1.Text = ""

  End If

End Sub

Private Sub Command1_Click()

  Dim i%, min%, max%, x%

  min = 0

  For i = 1 To Combo1.ListCount - 1

    If Val(Combo1.List(i)) < Val(Combo1.List(min)) Then min = i

  Next

  x = Combo1.List(0)

  Combo1.List(0) = Combo1.List(min)

  Combo1.List(min) = x

  max = Combo1.ListCount - 1

  For i = 0 To Combo1.ListCount - 2

    If Val(Combo1.List(i)) > Val(Combo1.List(max)) Then max = i

  Next

  x = Combo1.List(Combo1.ListCount - 1)

  Combo1.List(Combo1.ListCount - 1) = Combo1.List(max)

  Combo1.List(max) = x

End Sub

3.       设计一个点菜程序,当单击“添加到我点的菜单中”按钮时,将组合框“饭店菜单”中选中的菜添加到列表框“我点的菜”中,当单击“添加到饭店菜单中”按钮时,可以将文本框中输入的菜单名添加到组合框“饭店菜单”中,如已存在将不重复添加。要求:设计窗体界面,窗体中所有控件字体默认、大小为小四,并设计代码,初始时文本框、列表框、组合框内容均为空。

图6-3

Private Sub Command1_Click()

   Dim i%, flag As Boolean

   flag = False

   For i = 0 To List1.ListCount - 1

      If List1.List(i) = Combo1.Text Then

         flag = True

         Exit For

      End If

   Next i

   If flag = False Then List1.AddItem Combo1.Text

End Sub

Private Sub Command2_Click()

   Dim i%, flag As Boolean

   flag = False

   For i = 0 To Combo1.ListCount - 1

      If Combo1.List(i) = Text1.Text Then

         flag = True

         Exit For

      End If

   Next i

   If flag = False Then Combo1.AddItem Text1.Text

End Sub

4.       编写一个子过程ProcMin(a(),amin),求一维数组a中的最小值amin。要求主调程序在随机产生10个-300 ~ -400之间的数,在窗体上显示所产生的数组中的各元素,通过Form_Load事件加入;调用ProcMin(a(),amin)过程,在窗体上显示数组中的最小值。窗体中所有控件字体默认、大小为小四,效果如图6-4所示。

图6-4

Private Sub Form_Load()

  Dim min%, i%

  Dim s%(1 To 10)

  Randomize

  Print "数组中的各元素:";

  For i = 1 To 10

    s(i) = Int(Rnd * (-101) - 300)

    Print s(i);

  Next

  Print

  Call ProcMin(s, min)

End Sub

Public Sub ProcMin(a%(), aMin%)

  Dim i!

  aMin = a(LBound(a))

  For i = LBound(a) + 1 To UBound(a)

    If a(i) < aMin Then aMin = a(i)

  Next

  Print

  Print "数组中的最小值是:"; aMin

End Sub

5.       编写一个自定义函数过程MySin(x),求:。当第n项的值小于|10-5|时结束,x为弧度。主调程序同时调用MySin(x)函数和内部函数Sin(x),计算x=2时的函数值。要求:通过单击按钮事件在窗体上显示结果,进行比较验证,窗体中所有控件字体默认、大小为小四,效果如图6-5所示。

图6-5

Option Explicit

Public Function Mysin#(x#, eps#)

Dim n%, t#

n = 1

Mysin = 0

t = (-1) ^ (n - 1) * x ^ (2 * n - 1) / Fac(2 * n - 1)

Do While (Abs(t) > eps)

   Mysin = Mysin + t

   n = n + 1

   t = (-1) ^ (n - 1) * x ^ (2 * n - 1) / Fac(2 * n - 1)

Loop

End Function

Public Function Fac#(m%)

Dim i%

Fac = 1

For i = 1 To m

   Fac = Fac * i

Next i

End Function

Private Sub Command1_Click()

Print "调用自定义函数 Mysin(2)求正弦函数值 ="; Mysin(2, 0.00001)

Print

Print "当调用 VB标准函数 Sin(2)求正弦函数值 ="; Sin(2)

End Sub

6.       如果一个整数的所有因子(包括1,但不包括它本身)之和与该数相等,则称这个数为完数。如6=1+2+3,所以6是一个完数。编写一个函数IsWs(m),判断m是否为完数,函数的返回值是逻辑型。主调程序在窗体上输出1000以内所有的完数,通过Form_Load事件加入,窗体中所有控件字体默认、大小为小四,效果如图6-6所示。

图6-6

Private Sub Form_Load()

  Dim sum%, out1$, m%, j%

  Print "1000以内的完数为: "

  For m = 2 To 1000

    If IsWs(m, out1) Then Print m & "=" & out1

  Next

End Sub

Private Function IsWs(m%, out2$) As Boolean

  Dim sum%, j%

  IsWs = False

  sum = 1

  out2 = "1"

  For j = 2 To Int(m / 2)

    If m Mod j = 0 Then sum = sum + j: out2 = out2 & "+" & j

  Next

  If m = sum Then IsWs = True

End Function

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

更多相关推荐:
课程设计报告

1课程设计目的课程设计是船舶设计原理课程重要的实践性教学环节是培养学生掌握船舶设计基本原理和能力的技术基础主尺度论证与总布置设计是船舶总体设计的重要组成部分通过课程设计的训练力求使学生实现从学生到船舶设计师的角...

课程设计报告内容

一设计目的1强化上机动手能力在理论和实践的基础上进一步巩固数据结构课程学习的内容掌握工程化软件设计的基本方法2掌握图的创建和应用3掌握迪杰斯特拉以及Prim等基本算法思想4掌握if语句及switch语句的运用方...

课程设计报告

中国计量学院信息工程学院课程设计报告课程设计名称系统设计与仿真课程计二级学院信息工程学院专业班级10电信2班学姓成绩号名1000301232廖壁波指导老师20xx年12月13日中国计量学院信息工程学院课程设计报...

课程设计报告模板

信息科学与工程学院高级语言程序设计课程设计报告学生成绩管理系统学科专业计算机科学与技术班级1301学号指导教师唐郑熠讲师学生二零年月目录目录1设计任务12需求分析121基础功能122扩展功能13系统概要设计13...

课程设计报告

扬州大学数据结构课程设计报告课题名称姓名学院系科班级指导老师日期自来水管架设问题广陵学院陈宏建1一课程设计的题目自来水管理架设问题问题描述若要在扬州大学的八个居民区A区B区C区D区E区F区G区H区之间架设自来水...

课程设计报告

系统软件课程设计时钟中断与进程调度学号姓名指导教师11070319许明秀金雪云20xx年12月一报告摘要进程调度是操作系统十分重要的一个部分在操作系统的设计过程中进程调度和时钟中断形成了密不可分的关系系统时钟定...

课程设计报告

计算机高级语言课程设计报告班级学号姓名蔡路日期学生成绩管理系统19xx3120xx100031020xx年1月18日一课程设计题目与要求实习题目学生成绩管理系统实习内容C语言面向对象的分析与设计基本要求学生成绩...

JAVA_课程设计报告

JAVA程序设计课程设计报告设计题目学院名称专业班级姓名学号1目录一需求分析3二概要设计3三详细设计331数据库设计332模块及窗体设计3321数据库模块设计3322用户登录识别模块5323用户信息管理模块61...

软件课程设计报告

中南民族大学软件课程设计报告电子信息工程09级题目学生吴雪学号指导教师王锦程电子工程0907100220xx年4月25日简易网络聊天系统摘要计算机网络通信技术已经深入我们的生活并给我们即使通信带来了很大的方随着...

软件课程设计报告

任务书北京信息科技大学计算机软件基础课程设计题目从某个源点到其余各顶点的最短路径学院专业学生姓名班级学号指导老师起止时间任务书1摘要摘要本次课程设计的问题假设西安北京沈阳武汉4个城市构成小型交通网4个城市表示图...

计算机网络课程设计报告

计算机网络课程设计报告一.课程设计的题目、目的及要求.........................................................2二.课程设计的内容(分析和设计).....…

Java课程设计报告模板

Java程序设计课程设计报告20xx20xx年度第1学期Hannio塔专业学生姓名班级学号指导教师完成日期计算机科学技术网络工程马千里B计算机1021010704213徐森20xx年1月8日Hannoi塔目录目...

课程设计报告(33篇)