文档库 最新最全的文档下载
当前位置:文档库 › VB程序设计课程设计报告完整版

VB程序设计课程设计报告完整版

VB程序设计课程设计报告完整版
VB程序设计课程设计报告完整版

V B程序设计课程设计

报告

HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

《VB程序设计》

课程设计报告(2016 — 2017 学年第 1 学期)

题目:排序演示

学院:经济与管理学院

班级:物流管理1502

学号:

姓名:

指导教师:阮冰

时间:起 2017年1月3日止 1月6日

一、课程设计基本信息

课程代码:05190124

课程名称:计算机基础课程设计

课程英文名称: Computer-based Course Design

课程所属单位(院(系)、教研室):数学与计算机学院计算机基础课程群

课程面向专业:生物科学类、制药工程、制药工程(生物制药)、药物制

剂、物流管理

课程类型:必修课

先修课程:大学计算机基础通识选修课程、Visual Basic程序设计课程学分:1 总学时:16

二、课程设计目标

掌握所学语言程序设计的方法,熟悉所学语言的开发环境及调试过程,熟悉所学语言中的数据类型,数据结构、语句结构、运算方法,巩固和加深对理论课中知识的理解,提高学生对所学知识的综合运用能力。通过综合设计要求达到下列基本技能:

1.培养查阅参考资料、手册的自学能力,通过独立思考深入钻研问题,学会自己分析、解决问题。

2.通过对所选题目方案分析比较,确立方案,编制与调试程序,初步掌握程序设计的方法,能熟练调试程序。

3.系统设计编程简练,可用,功能全面,并有一定的容错能力。用户界面良好,有较好的输出功能。在完成课题基本要求后,具有创新型设计,具有一定的实用价值。

4.根据个人的设计调试过程,撰写设计报告。

三、课程设计内容

利用已掌握的VB程序设计语言基础,以及面向对象的程序设计方法、事件驱动的编程方式,进行应用程序和系统的开发设计。在强化巩固已有编程知识基础之上,训练新的设计与编程思路,通过综合应用所学知识设计、编制、调试实用的Visual Basic程序。

四、课程设计要求

1.要求每个同学都要认真对待,积极参与。

2.课程设计结束时,提交完成的所有源程序、相关文件和可执行文件。同

时填写并完成《课程设计报告册》。

3.不符合要求的程序、设计报告、抄袭的设计报告或源程序代码、在设计

中完全未参与的将作不及格处理。

五、考核方式

指导老师负责验收程序的运行结果,并结合学生的工作态度、实际动手能力、创新精神和设计报告等进行综合考评,百分制计算,具体考核标准主要包含以下几个部分:

1.程序运行情况20分

2.程序功能的完善程度10分

3.程序结构的合理性10分

4.对问题的答辩情况20分

5.创新情况10分

6.学生的工作态度与独立工作能力10分

7.设计报告内容的规范性20分

备注:

1.按规定时间填写各阶段文档,学习态度加5分

2.设计报告内容雷同扣40分,无调试过程问题分析扣10分,无参考文献

扣10分

3.源程序无注释则在程序结构合理性扣10分

六、课程设计主要参考资料

《Visual Basic程序设计教程第4版》龚沛曾高等教育出版社

《Visual Basic程序设计实验指导与测试第4版》龚沛曾高等教育出版社

《Visual Basic从入门到精通》

《Visual Basic课程设计》

《Visual Basic开发实战1200例》,

系统功能需求分析

1. 程序启动后,显示图所示的主界面。首先单击“产生10个随机数”按钮来产生10个随机数,并显示在10个文本框中;然后选择一种“演示模式”和“排序方式”,其中演示模式可以直接给出排序结果,也可以通过动画动态演示整个排序过程,排序方式可以按从小到大顺序,也可以按从大到小顺序排序。

图启动后的主界面

2. 在主窗口的空白区单击鼠标右键,弹出如图所示的快捷菜单。从中选择“排序算法”命令,打开图所示的对话框,从中选择一种排序方式,单击不同排序方式时,“算法描述”中简要介绍了这种算法。单击“确定”按钮返回到主窗口,主窗口中最上方框架控件的标题文字显示当前所选的排序算法。

图快捷菜单

图“排序算法选择”对话框

快捷菜单中有一“从文件读取数据”命令,使用此命令可以从当前目录的文件中读入10个数。要使用这个命令,必须事先建立这个文本文件。

3. 设置完毕,单击“开始排序”按钮(此按钮在生成数据之前是不可用的)启动排序过程。若选择了动画方式(见图,红色背景的文本框表示当前正在比较的元素,黄色的代表己排序的元素,两个运动的文本框表示交换过程。在排序过程中可以调节水平滚动条来控制演示的速度。排序结束后程序以消息框的形式报告数据交换的次数(如图。可以使用快捷菜单中的“将数据写入文件”命令将排序后的数据保存到“”中覆盖原有内容。

图程序主界面

4. 选择窗口主菜单中的“颜色设置”命令,主窗口扩大,底部显示“颜色设置”框架(如图所示),可以对“文本背景色”、“文本前景色”、“已排序元素色”和“交换结点色”进行设置。再选择此命令,窗口恢复到原来大小。

图显示交换次数图系统主菜单

5. 选择“退出”命令可退出本程序,程序显示图所示的对话框予以确认。

图确认退出对话

颜色设置

主要功能模块源程序1.窗体设计

1.四个Frame 控件----第一个Frame 控件包含此问题的基本运算的也

是时刻会发生变化的控件。

第二个和第三个 Frame 控件主要是对此程序运行方式的选择。

第四个Frame 控件实质是菜单项中“颜色设置”单机事件的结

果,是对第一个Frame中控件运行时的颜色设置。

2 .1个文本框数组----包括10个随机数文本框和两个`交换时运动着的

文本框

3. 菜单设计----下拉式菜单分为两部分,

每部分功能不同。

弹出式菜单分为三部分,第一部分的

单机事件会出现一个新的Form窗体。

主要功能模块源程序4 .一个水平滚动条----对Frame中控件运动时的速度调控。

5 五个command按钮---“产生十个随机数”命令按钮1(0)单击事件会在

前十个文本框中产生十个随机数

“开始排序”命令按钮1(2)在第二个和第三个 Frame 中控件都被选

择后才会有效,然后对十个随机数进行不同方式的排

序。

“默认值”命令按钮2是对文本框数组颜色设置的默认按钮。

“停止”命令按钮1(2)在情况下才有

效。

“退出”命令按钮3是用来结束该程序的运行。

6 一个timer控件----对此程序运行时的时间间隔控制。

7 一个combo数组---包括四个combo控件

Color1(0)文本背景色 Color1(1)文本前景色

Color1(2)已排序元素色 Color1(3)交换元素色2.代码设计

1.变量声明

Option Explicit

Option Base 1

Dim a(10) As Integer 随机数数组

Dim First As Integer

Dim Second As Integer

Private mblnMoving As Boolean

Dim Speed As Integer

Dim inColor1 As Long 文本背景色

Dim inColor2 As Long 文本前景色

Dim inColor3 As Long 已排序元素色

Dim inColor4 As Long 交换元素色

Dim inNum As Long 交换次数

Public inSortMethod As Integer 排序算法0-比较法,1-

选择法 2-直接插入法,3-冒泡法Private inSortOrder As Integer 排序方向 0-升序 1-降序

Private inShowMode As Integer 演示模式,0-直接求解,

1-动态演示2.1 command1(0) ---产生十个随机数

Private Sub Command1(0)_Click()

Randomize

For i = 1 To 10

a(i) = Int(Rnd * 201) - 100

Text1(i).Text = a(i)

Text1(i).BackColor=inColor1

Text1(i).ForeColor = inColor2

Next i = True

2 command1(1)----开始排序

Private Sub Option1_Click(Index As Integer)

intShowMode = Index

End Sub

Private Sub Option2_Click(Index As Integer)

intSortOrder = Index

End Sub

当排序结束后,会弹出如下一个对话框。

代码为:

3 command1(2)--- 停止程序的运行

Private Sub Command3_Click() If = "停止" Then = False = "继续" Else

If = "继续" Then

= True

= "停止"

End If End If

End Sub

4 command2 -----默认颜色的按钮

Private Sub Command2_Click()

Color1(0).ListIndex = 0

inColor1 = vbGreen 文本背景色 Color1(1).ListIndex = 1

inColor2 = vbBlack 文本前景色 Color1(2).ListIndex = 2

inColor3 = vbYellow 已排序元素色 Color1(3).ListIndex = 3

inColor4 = vbRed 交换元素色

5 command3----退出按钮

数组

名称分别为 Color1(0)文本背景色 Color1(1)文本前景色

Color1(2)已排序元素色 Color1(3)交换元素色

Frame2

Frame3

option

的选择直

接关系到

随机数的

排序方式

response = MsgBox("比较法排序完毕,交换次数为:" + Str(Num), vbOKOnly, "系统提示")

调试过程出现的问题及解决方法1.在程序一运行时,没有对speed进行初定量,在程序运行后,动态演示时,负责显示交换元素的两个文本框不运动,也没有排序的作用。

解决:在Form1的load事件中增加了 speed = 100 语句。

2.下拉式菜单与快捷菜单分离不开

导致快捷菜单不出现

下拉式菜单又出现太多选项

解决:增加第二个主菜单“弹出式菜单”,且不可见。

3.快捷菜单无法弹出,且无法联系到窗体。

弹出菜单要用PopupMenu方法

在单击“排序算法”时,出现语句,联系到Form1

4.对四种排序方法的编程混淆不清

在网络上查找资料,先了解四种排序方法的特点和区别。用简单的语句解释理解,然后随机列举几个数字,用排序方法依次排大小,总结规律。写出排序方法的代码。

5.动态演示如何演变

用Timer事件进行编程。

测试数据及测试结果

程序运行后,单击下拉式菜单,对颜色进行设置,单击“产生十个随机数”,可以看到随机数所在文本框的背景色和前景色发生改变,然后对演示模式和排序方式进行选择

1.当选择静态演示时,会弹出如下对话框。

单击确定后,发现排序和最值,平均值的运算已完成。

2.当动态演示时,正在排序元素和已排序元素文本背景色发生变化,且两个变化文本框会运动,在排序结束后,也会出现系统提示的对话框。

还可以通过对水平滚动条设置来调整交换速度

单击右键会弹出快捷菜单

单击“停止”按钮时,排序运动会暂停,再次单击时又会重新启动。

单击“退出按钮时”,会出现对话框

2.第二个窗体的选择也关系到第一个窗体的运行

Option的选择不同,窗体一中的排序方法也不同。

指导教师(签名)

年月日

相关文档