admin 管理员组

文章数量: 1184232


2023年12月16日发(作者:oracle和sap哪个难学)

华东交通大学课程设计

华东交通大学

课程设计(论文)任务书

土木建筑 学院 测绘 专业 2 班

一、课程设计(论文)题目 彩票选号小助手

二、课程设计(论文)工作自 2010年 6月 26日起至 2010 年 7 月 3日止。

三、课程设计(论文) 地点: 计算机中心

四、课程设计(论文)内容要求:

1. 本课程设计的目的

(1)进一步巩固和加深对“VB程序设计”课程基本知识的理解和掌握,了解VB语言在项目开发中的应用。

(2)学习程序设计开发的一般方法,了解和掌握项目开发过程及方式,培养正确的设计思想和分析问题、解决问题的能力,特别是项目设计能力。

2. 课程设计的任务及要求

(1) 基本要求:

(1) 对系统功能进行需求分析;

(2) 使用Visual basic开发环境进行程序开发;

(3) 提出系统的设计方案;

(4) 编写源程序代码并进行调试。

(2) 创新要求

在基本要求达到后,可进行创新设计。

(3) 课程设计报告撰写及装订要求

课程设计报告的撰写要求表述简明,图表准确。

报告按如下内容和顺序用A4纸进行打印并装订成册。

(1)要按照书稿的规格打印与写课程设计论文

(2)论文包括目录、功能描述、设计思路、具体实现、运行调试与分析讨

论、设计体会与小结、参考文献、附录(源代码)等

(3)课程设计论文装订按学校的统一要求完成

(4)封面

采用统一的课程设计封面,并按要求填写好封面要求的个人信息和选题。

(5)设计任务书

(6)评阅书

(7)目录

(8)正文

(9)主要参考文献

(4) 课程设计评分标准:

(1)达到课程设计的目的与要求,程序的可读性较好,并调试正确,60分;

1

(3)通过对标准化、规范化文档的掌握并查阅有关技术资料等,培养项目设计开发能力。

华东交通大学课程设计

(2)能正确回答设计的中老师所提问题,可增加10分;

(3)课程设计报告书写规范整齐,可增加10分;

(4)心得体会认真总结,可增加10分;

(5)程序有创新性,可增加10分;

成绩评定实行优秀、良好、中等、及格和不及格五个等级。不及格者需重做。

(5) 课程设计进度安排

(1)准备阶段(6学时):选择设计题目、了解设计目的要求、查阅相关资料。

(2)程序模块设计分析阶段(8学时):程序总体设计、详细设计。

(3) 代码编写调试阶段(10学时):程序模块代码编写、调试、测试。

(4) 撰写论文阶段(6学时):总结课程设计任务和设计内容,撰写课程设计论文。

(6) 课程设计题目具体要求

(1)要求编制一个能够设计一个 供彩民买彩票时投注选号的程序(即自动生成投注号,不是开奖程序)。

(2)基本要求是运行程序,显示主界面。通过提供的程序基本代码,通过引用,循环,和函数的配合,对程序重复的消去,达到题目的要求。可以进行简单的体育彩票和福利彩票的选号。

(3)对控件的调用,计时器的应用,不同窗体的切换方法,对控件的属性进行赋值的方法,过程、函数的应用。

学生签名:

2011年7月3 日

2

华东交通大学课程设计

课程设计(论文)评阅意见

序号

1

2

3

4

5

6

项 目

课程设计态度评价

出勤情况评价

任务难度评价

工作量饱满评价

设计中创新性评价

论文书写规范化评价

综合评定等级

等 级

优秀

良好

中等

及格 不及格

评阅人 周美玲 职称 讲师

2011年7月3日

3

华东交通大学课程设计

目录

绪论 .......................................................................................................................

- 1 -

第1章 功能描述 ...........................................................................................

- 2 -

第2章 总体设计 ...........................................................................................

- 2 -

2.1变量和函数方..………………………………...- 4 -

第3章 具体实现 ...........................................................................................

- 4 -

3.1Form1内部代码..…………………………….....-4-

3.2Form2内部代码..…………………………….....-5-

3.3排序并去初重复……………………………......- 8 -

第4章 运行调试及结果分析 ...................................................................

- 8 -

4.1“体育彩票”界面…………………………...... - 8 -

4.2“福利彩票”界面…………………………….. - 8 -

第5章 设计体会与小结 .........................................................................

- 13 -

参考文献 ........................................................................................................

- 14 -

附录(核心代码)

………………………………......- 14 -

7.1 form1 中代码…………………………….. ...- 14 -

7.2 form2 中代码…………………………….. ...- 14 -

7.3 form3 中代码……………………………...... - 14 -

4

华东交通大学课程设计

绪论

“Visual”指的是开发图形用户界面的方法。不需编写大量代码去描述界面元素的外观和位置,而只要把预先建立的对象加到屏幕上,一点即可。

Basic指的是beginner sall-purpose symbolic instruction code,一种在计算机技术发展历史上应用最为广泛的语言。

Visual Basic不仅是Visual Basic编程语言。Visual Basic编程系统和VBA都使用这一语言。

Visual Basic6.0包括三种版本,分别为学习版、专业版和企业版3三种版本,满足不同的开发要求。

3种版本中,企业版功能最全,专业版包括了学习版的功能。VB具有丰富数据类型是种符合结构化设计思想语言,VB采用了面对对象的思想,它基本思路是把复杂的设计问题分解为多个能够完成独立功能且相对简单的对象集合。所谓“对象”就是个可操作实体如窗体、窗体中命令按钮、标签、文本框等,面向对象编程就是指程序员可根据界面设计要求直接在界面上设计出窗口、菜单、按钮等类型对象并为每个对象设置属性。 在Windows环境下是以事件驱动方式运行每个对象的都能响应多个区别事件,每个事件都能驱动段代码事件过程,该代码决定了对象功能。通常称这种机制为事件驱动的编程机制。可由用户操作触发也可以由系统或应用触发例如单击个命令按钮就触发了按钮Click(单击)事件该事件中代码就会被执行,若用户未进行任何操作(未触发事件)则就处于等待状态整个应用就是由彼此独立事件过程构成,VB为编程提供了个集成开发环境在这个环境中编程者可设计界面、编写代码、调试直至把应 用编译成可在Windows中运行可执行文件并为它生成安装VB集成开发环境为编程者提供了很大方便 用v b设计出来的彩票选号小助手就是用v b设计程序的集成开发环境在这个环境中编程者设计界面、编写代码、调试直至把应用编译成可在Windows中运行可执行用于彩票选号的程序。

- 1 -

华东交通大学课程设计

第一章 功能描述

图1-1程序启动窗口

在启动窗口中单击“体育彩票”按钮后,进入体彩传统型电脑彩票的选号窗口。在该窗口中,每一注可单独投注,也可一次产生5注号码。单击“开始”按钮,则单选框所对应的那一注的各个号码开始滚动,当单击“停止”按钮后,左边窗口中的号码从左到右依次停止滚动,产生一注号码,其中最右边的特别号码只能是0~4中的一个。

在福利彩票选好窗体中单击右边的单选框选择投注的注数时,左边的“幸运号码”区会相应地做出调整。如选择三注,则只显示三行空格。

单击“清除”按钮,则清除显示内容,以便进行下次投注,单击“返回”则返回到启动窗口。

第二章 总体设计

根据题目要求,设计一个 供彩民买彩票时投注选号的程序(即自动生成投注号,不是开奖程序)。

目前我国发行的彩票主要有两大类,即体育彩票和福利彩票,每一类彩票都有多种投注方法。

窗体1中设计三个命令按钮,第一个命令按钮控制的是窗体2(传统型体育彩票),点击该命令按钮应该弹出窗体2,窗体1隐藏;第二个

- 2 -

华东交通大学课程设计

命令按钮控制的是窗体3(35选7电脑福利彩票),点击该命令按钮的时候弹出窗体3,窗体1隐藏

在窗体2中需要实现这个目的,彩民自己选一个彩票号码,由6位数号码(自0、1、2、3、4、5、6、7、8、9中选出)和一个特别号码(自0、1、2、3、4中选出)组成。即6位自然数号码为000000~999999共100万个号码。特别号码为0~4共5个自然数,特别号码放在6位自然数号码后,与6位数自然数号码不形成排列或顺序关系。

根据这些,建立两个框架,在第一个框架中,建立7个text控件数组;在第二个框架中设计option控件数组,为了实现数字的滚动,建立7个计时器,另外建立了四个命令按钮,分别为开始、停止、自动、返回主界面,在这需注意,开始和停止两个命令不能同时使用。

窗体3需要实现的目的是在1~35共35个自然数中选择任何7个数组合成1注进行投注,单注中数字不能重复出现,电脑机选最少1注,最多5注,这5注号码不能重复。

根据这些要求,首先建立两个框架,然后在第一个框架中设计Text的控件数组,一共35个;在第二个框架中建立5个option;另外需要建立三个命令按钮,分别是开始、清楚、返回主界面。

通过利用vb6.0设计程序。打开vb6.0程序,设计彩票选号程序界面,在一个工程中生成三个form窗体,分别对各个窗体进行界面控件设计,再对各个控件进行代码编写。

一些具体声明的变量和函数方法如下:

Private Sub Command1_Click() (控件点击的调用方法)

d = (窗体控件是否可用)

Private Sub Form_Load() (窗体运行)

Private Sub Timer1_Timer() (计时器)

Call Command2_Click (调用控件)

Dim k As Integer;

For

DoEvents

Private Sub Command1_Click()

- 3 -

华东交通大学课程设计

End Sub (不同窗体的切换方法)

= True

Text1(i).Text = (对控件属性进行赋值的方法)

Founction过程

Usechar等函数

第三章 具体实现

把各个窗体中的各个控件的option属性改成想要的

内部创建文件的代码如下

(form1)

1).Private Sub Command1_Click()

End Sub

Private Sub Command2_Click()

End Sub

Private Sub Command3_Click()

End End Sub (在窗体一中实现体彩和福彩及退出程序的选择的代码)

(form2)

1).设置计时器interval属性不为0

2).Dim a As Integer

Private Sub Command1_Click()

d = True

- 4 -

华东交通大学课程设计

d = False

d = True

… … …. ….

End Sub

Private Sub Command2_Click()

Dim i As Long

j = 0

d = False

For i = 1 To 3000

For z = 1 To 3000

j = j

Next z

Next i

DoEvents

…. … …

Private Sub Timer1_Timer()

Randomize

Text1(a).Text = Rnd * 100 Mod 10

End Sub

… …. … ….

Private Sub Timer7_Timer()

Randomize

Text7(a).Text = Rnd * 20 Mod 5

End Sub

(实现计时器和文本框里变化数字的衔接)

3)..Private Sub Option1_Click(Index As Integer)

- 5 -

华东交通大学课程设计

Dim i As Integer

For i = 1 To 5

If Option1(i - 1).Value Then

a = i - 1

End If

Next i

End Sub

Private Sub Command3_Click()

d = False

d = False

Dim k As Integer

For k = 1 To 5

a = k - 1

Call Command1_Click

DoEvents

For i = 1 To 3000

For z = 1 To 3000

j = j

Next z

Next i

DoEvents

Call Command2_Click

DoEvents

Next k

End Sub

(Form3)

- 6 -

华东交通大学课程设计

1).Function GenNnm() As String

Dim str1 As String

Dim i As Integer, Num As Integer

Dim usechar As String

usechar="8"

str1 = ""

Randomize

For i = 1 To 36

Num = Len(usechar) * Rnd + 1

If Num Mod 2 = 1 Then

str1 = str1 + Mid(usechar, Num, 2)

Else

str1 = str1 + Mid(usechar, Num - 1, 2)

End If

Next i

GenNnm = str1

End Function

Private Sub Option2_Click()

Dim i As Integer

For i = 14 To 34

Text1(i).Visible = False

Next i

For i = 0 To 13

Text1(i).Visible = True

Next i

- 7 -

华东交通大学课程设计

For i = 0 To 34

Text1(i).Text = ""

Next i

End Sub

(option所涉及的彩票注数与文本框里显示联系起来的代码)

2)).Private Sub Command1_Click()

Dim i As Integer, j As Integer, d As Integer

Dim a As String

d = 1

For i = 0 To 34

Text1(i).Text = Mid$(GenNnm, d, 2)

d = d + 2

Next i

'1-7排序并去初重复 (通过该方法实现所选投股数与窗体所能显示的text控件个数的衔接

第四章 运行调试及结果分析

- 8 -

华东交通大学课程设计

图4-1 启动窗口

窗体1中设计三个命令按钮,第一个命令按钮控制的是窗体2(传统型体育彩票),点击该命令按钮应该弹出窗体2,窗体1隐藏;第二个命令按钮控制的是窗体3(35选7电脑福利彩票),点击该命令按钮的时候弹出窗体3,窗体1隐藏

- 9 -

华东交通大学课程设计

⑵ 在启动窗口中单击“体育彩票”按钮后,进入体彩传统型电脑彩票的选号窗口(如图4-2所示)。在该窗口中,每一注可单独投注,也可一次产生5注号码。单击“开始”按钮,则单选框所对应的那一注的各个号码开始滚动,当单击“停止”按钮后,左边窗口中的号码从左到右依次停止滚动,产生一注号码,其中最右边的特别号码只能是0~4中的一个(如图4-3所示)。

图4-2 “体育彩票”界面

- 10 -

华东交通大学课程设计

图4-3 生成一组号码

如果单击“自动”按钮,则从上到下一次产生5注号码(如图4-3所示)。

图4-4 生成全部号码

- 11 -

华东交通大学课程设计

图4-5 “福利彩票”界面

图4-6 生成3注号码

单击右边的单选框选择投注的注数时,左边的“幸运号码”区会相应地做出调整。如选择三注,则只显示三行空格。

- 12 -

华东交通大学课程设计

单击“清除”按钮,则清除显示内容,以便进行下次投注,单击“返回”则返回到启动窗口。

结果:程序设计基本符合要求

第五章 设计体会与小结

为了让我们加深对VB教程学习的理解,期末老师引导我们做了这个课程设计。起初还十分担心,因为对自己掌握的VB只是并不自信。但是,为了做好本次课程设计,我认真复习了《Visual Basic程序设计教程》的相关知识,对实验中所需涉及到的知识有更深入的了解和掌握。在这一切的充分准备下 ,我认为,程序设计目的已较明确,程序实现起来较顺利,这让我体会到了平时踏实积累学习知识的重要性。实验中与同学的交流合作,让我们彼此间的知识和思维进行了碰撞和进步。本次课程设计的实验报告确实让我学习到了许多新鲜的知识,我更进一步了解了Visual Basic程序设计教程的相关知识,由于使用了VB语言进行程序的编写,这就在一定程度上锻炼了自己在VB方面的水平,也让我深刻地理解了,一种语言可以应用到很多的方面,尤其是在当今社会,对计算机的掌握水平提出了更高的要求。作为一名合格的大学生,一名以后能胜任自己岗位的工作者,更要不断提升自己对计算机的掌握水平。通过这次课程设计,我对原有的VB教材更加熟悉,了解更加透彻,运用更加灵活,获益匪浅。

我想这些都会对我以后的工作学习产生深刻的影响。即使以后不从事系统软件方面的工作,这些代码实现的技巧也会对我作其他软件开发工作带来极大的助益。同时,对阅读内核代码进行阅读、总结的过程也提高了我的分析问题、解决问题的能力,而这种能力是无论做什么工作都需要的。

在这过程中,让我懂得了团队合作非常的重要,在这期间我有很多不懂的问题,通过和同学一起讨论,很多问题都得到了有效的解决,这样不仅加深了和同学之间的友谊,也使我们在编程中有许多的乐趣。

这次程序设计,使我认识到,自己之前对VB 的教材了解不够深入,只停留在知道的层面,这远远不够,我应该在以后的学习中,学会“学以致用”,

- 13 -

华东交通大学课程设计

知识只有用得多了才更熟练更深入,必须强化这一观念,不断提升自己在各方面的学习进步。

第六章 参考文献

[1]熊李艳,周美玲主编;吴昊,杜玲玲副主编《Visual Basic程序设计教程》[M].北京 :人民邮电出版社 ,2007.

[2]李光明《Visual Basic 6.0编程实例大制作》[M] 冶金工业出版社

[3]袁帅,郭月强等编写的《Visual Basic编程实例教程》[M] 北京希望电子出版社

[4]郑炳文编著《visual Basic程序设计例题汇编》[M]清华大学出版社

附录(核心代码)

Form1中的代码

Private Sub Command1_Click()

End Sub

Private Sub Command2_Click()

End Sub

Private Sub Command3_Click()

End

End Sub

Form2中的代码

Dim a As Integer

Private Sub Command1_Click()

d = True

d = False

d = True

d = True

d = True

d = True

d = True

- 14 -

华东交通大学课程设计

d = True

d = True

End Sub

Private Sub Command2_Click()

Dim i As Long

Dim z As Long

Dim j As Long

j = 0

d = False

For i = 1 To 2500

For z = 1 To 2500

j = j

Next z

Next i

DoEvents

d = False

For i = 1 To 2500

For z = 1 To 2500

j = j

Next z

Next i

DoEvents

d = False

For i = 1 To 2500

For z = 1 To 2500

j = j

Next z

Next i

DoEvents

d = False

For i = 1 To 2500

For z = 1 To 2500

j = j

Next z

Next i

DoEvents

d = False

For i = 1 To 2500

For z = 1 To 2500

- 15 -

华东交通大学课程设计

j = j

Next z

Next i

DoEvents

d = False

For i = 1 To 2500

For z = 1 To 2500

j = j

Next z

Next i

DoEvents

d = False

For i = 1 To 2500

For z = 1 To2500

j = j

Next z

Next i

DoEvents

d = False

d = True

End Sub

Private Sub Option1_Click(Index As Integer)

Dim i As Integer

For i = 1 To 5

If Option1(i - 1).Value Then

a = i - 1

End If

Next i

End Sub

Private Sub Command3_Click()

d = False

d = False

Dim k As Integer

For k = 1 To 5

a = k - 1

Call Command1_Click

DoEvents

For i = 1 To 2500

- 16 -

华东交通大学课程设计

For z = 1 To 2500

j = j

Next z

Next i

DoEvents

Call Command2_Click

DoEvents

Next k

End Sub

Private Sub Command4_Click()

End Sub

Private Sub Form_Load()

d = False

Option1(0).Value = True

d = False

d = False

d = False

d = False

d = False

d = False

d = False

End Sub

Private Sub Timer1_Timer()

Randomize

Text1(a).Text = Rnd * 100 Mod 10

End Sub

Private Sub Timer2_Timer()

Randomize

Text2(a).Text = Rnd * 100 Mod 10

End Sub

Private Sub Timer3_Timer()

Randomize

Text3(a).Text = Rnd * 100 Mod 10

End Sub

Private Sub Timer4_Timer()

- 17 -

华东交通大学课程设计

Randomize

Text4(a).Text = Rnd * 100 Mod 10

End Sub

Private Sub Timer5_Timer()

Randomize

Text5(a).Text = Rnd * 100 Mod 10

End Sub

Private Sub Timer6_Timer()

Randomize

Text6(a).Text = Rnd * 100 Mod 10

End Sub

Private Sub Timer7_Timer()

Randomize

Text7(a).Text = Rnd * 20 Mod 5

End Sub

Form3中的代码

Option Explicit

Private Sub Command1_Click()

Dim i As Integer, j As Integer, d As Integer

Dim a As String

d = 1

For i = 0 To 34

Text1(i).Text = Mid$(GenNnm, d, 2)

d = d + 2

Next i

'1-7排序并去初重复

aa:

For i = 1 To 6

For j = 0 To i

If Val(Text1(j).Text) > Val(Text1(i).Text) Then

a = Text1(i).Text

Text1(i).Text = Text1(j).Text

Text1(j).Text = a

End If

Next j

Next i

For j = 0 To 6

- 18 -

华东交通大学课程设计

If Val(Text1(j).Text) = Val(Text1(j + 1).Text) Then

d = 1

For i = 0 To 6

Text1(i).Text = Mid$(GenNnm, d, 2)

d = d + 2

Next i

GoTo aa

End If

Next j

'7-14排序并去处重复

bb:

For i = 8 To 13

For j = 7 To i

If Val(Text1(j).Text) < Val(Text1(i).Text) Then

a = Text1(i).Text

Text1(i).Text = Text1(j).Text

Text1(j).Text = a

End If

Next j

Next i

For j = 7 To 13

If Val(Text1(j).Text) = Val(Text1(j + 1).Text) Then

d = 15

For i = 7 To 13

Text1(i).Text = Mid$(GenNnm, d, 2)

d = d + 2

Next i

GoTo bb

End If

Next j

'14-21排序并去处重复

cc:

For i = 15 To 20

For j = 14 To i

If Val(Text1(j).Text) < Val(Text1(i).Text) Then

a = Text1(i).Text

Text1(i).Text = Text1(j).Text

Text1(j).Text = a

- 19 -

华东交通大学课程设计

End If

Next j

Next i

For j = 14 To 20

If Val(Text1(j).Text) = Val(Text1(j + 1).Text) Then

d = 29

For i = 14 To 20

Text1(i).Text = Mid$(GenNnm, d, 2)

d = d + 2

Next i

GoTo cc

End If

Next j

'21-28排序

dd:

For i = 22 To 27

For j = 21 To i

If Val(Text1(j).Text) < Val(Text1(i).Text) Then

a = Text1(i).Text

Text1(i).Text = Text1(j).Text

Text1(j).Text = a

End If

Next j

Next i

For j = 21 To 27

If Val(Text1(j).Text) = Val(Text1(j + 1).Text) Then

d = 43

For i = 21 To 27

Text1(i).Text = Mid$(GenNnm, d, 2)

d = d + 2

Next i

GoTo dd

End If

Next j

'28-35排序并去处重复

ee:

- 20 -

华东交通大学课程设计

For i = 29 To 34

For j = 28 To i

If Val(Text1(j).Text) < Val(Text1(i).Text) Then

a = Text1(i).Text

Text1(i).Text = Text1(j).Text

Text1(j).Text = a

End If

Next j

Next i

For j = 28 To 33

If Val(Text1(j).Text) = Val(Text1(j + 1).Text) Then

d = 55

For i = 28 To 34

Text1(i).Text = Mid$(GenNnm, d, 2)

d = d + 2

Next i

GoTo ee

End If

Next j

End Sub

Function GenNnm() As String

Dim str1 As String

Dim i As Integer, Num As Integer

Dim usechar As String

usechar =

"8"

str1 = ""

Randomize

For i = 1 To 36

Num = Len(usechar) * Rnd + 1

If Num Mod 2 = 1 Then

str1 = str1 + Mid(usechar, Num, 2)

Else

str1 = str1 + Mid(usechar, Num - 1, 2)

End If

Next i

GenNnm = str1

- 21 -

华东交通大学课程设计

End Function

Private Sub Command2_Click()

Dim i As Integer

For i = 0 To 34

Text1(i).Text = ""

Next i

End Sub

Private Sub Command3_Click()

End Sub

Private Sub Form_Load()

= True

End Sub

Private Sub Option1_Click()

Dim i As Integer

For i = 7 To 34

Text1(i).Visible = False

Next i

For i = 0 To 34

Text1(i).Text = ""

Next i

End Sub

Private Sub Option2_Click()

Dim i As Integer

For i = 14 To 34

Text1(i).Visible = False

Next i

For i = 0 To 13

Text1(i).Visible = True

Next i

For i = 0 To 34

Text1(i).Text = ""

Next i

- 22 -

华东交通大学课程设计

End Sub

Private Sub Option3_Click()

Dim i As Integer

For i = 21 To 34

Text1(i).Visible = False

Next i

For i = 0 To 20

Text1(i).Visible = True

Next i

For i = 0 To 34

Text1(i).Text = ""

Next i

End Sub

Private Sub Option4_Click()

Dim i As Integer

For i = 28 To 34

Text1(i).Visible = False

Next i

For i = 0 To 27

Text1(i).Visible = True

Next i

For i = 0 To 34

Text1(i).Text = ""

Next i

End Sub

Private Sub Option5_Click()

Dim i As Integer

For i = 0 To 34

Text1(i).Visible = True

Next i

For i = 0 To 34

Text1(i).Text = ""

Next i

End Sub

- 23 -


本文标签: 设计 课程设计 代码 要求