彩票选号小助手1.docx
《彩票选号小助手1.docx》由会员分享,可在线阅读,更多相关《彩票选号小助手1.docx(30页珍藏版)》请在冰豆网上搜索。
![彩票选号小助手1.docx](https://file1.bdocx.com/fileroot1/2023-2/25/0b5ec432-e925-44a4-820d-331c61744cc0/0b5ec432-e925-44a4-820d-331c61744cc01.gif)
彩票选号小助手1
华东交通大学
课程设计(论文)任务书
土木建筑 学院 测绘专业2 班
一、课程设计(论文)题目 彩票选号小助手
二、课程设计(论文)工作自2010年6月26日起至2010年7月3日止。
三、课程设计(论文)地点:
计算机中心
四、课程设计(论文)内容要求:
1.本课程设计的目的
(1)进一步巩固和加深对“VB程序设计”课程基本知识的理解和掌握,了解VB语言在项目开发中的应用。
(2)学习程序设计开发的一般方法,了解和掌握项目开发过程及方式,培养正确的设计思想和分析问题、解决问题的能力,特别是项目设计能力。
(3)通过对标准化、规范化文档的掌握并查阅有关技术资料等,培养项目设计开发能力。
2.课程设计的任务及要求
(1)基本要求:
(1)对系统功能进行需求分析;
(2)使用Visualbasic开发环境进行程序开发;
(3)提出系统的设计方案;
(4)编写源程序代码并进行调试。
(2)创新要求
在基本要求达到后,可进行创新设计。
(3)课程设计报告撰写及装订要求
课程设计报告的撰写要求表述简明,图表准确。
报告按如下内容和顺序用A4纸进行打印并装订成册。
(1)要按照书稿的规格打印与写课程设计论文
(2)论文包括目录、功能描述、设计思路、具体实现、运行调试与分析讨
论、设计体会与小结、参考文献、附录(源代码)等
(3)课程设计论文装订按学校的统一要求完成
(4)封面
采用统一的课程设计封面,并按要求填写好封面要求的个人信息和选题。
(5)设计任务书
(6)评阅书
(7)目录
(8)正文
(9)主要参考文献
(4)课程设计评分标准:
(1)达到课程设计的目的与要求,程序的可读性较好,并调试正确,60分;
(2)能正确回答设计的中老师所提问题,可增加10分;
(3)课程设计报告书写规范整齐,可增加10分;
(4)心得体会认真总结,可增加10分;
(5)程序有创新性,可增加10分;
成绩评定实行优秀、良好、中等、及格和不及格五个等级。
不及格者需重做。
(5)课程设计进度安排
(1)准备阶段(6学时):
选择设计题目、了解设计目的要求、查阅相关资料。
(2)程序模块设计分析阶段(8学时):
程序总体设计、详细设计。
(3)代码编写调试阶段(10学时):
程序模块代码编写、调试、测试。
(4)撰写论文阶段(6学时):
总结课程设计任务和设计内容,撰写课程设计论文。
(6)课程设计题目具体要求
(1)要求编制一个能够设计一个供彩民买彩票时投注选号的程序(即自动生成投注号,不是开奖程序)。
(2)基本要求是运行程序,显示主界面。
通过提供的程序基本代码,通过引用,循环,和函数的配合,对程序重复的消去,达到题目的要求。
可以进行简单的体育彩票和福利彩票的选号。
(3)对控件的调用,计时器的应用,不同窗体的切换方法,对控件的属性进行赋值的方法,过程、函数的应用。
学生签名:
2011年7月3日
课程设计(论文)评阅意见
序号
项目
等 级
优秀
良好
中等
及格
不及格
1
课程设计态度评价
2
出勤情况评价
3
任务难度评价
4
工作量饱满评价
5
设计中创新性评价
6
论文书写规范化评价
综合评定等级
评阅人周美玲职称讲师
2011年7月3日
目录
绪论-1-
第1章功能描述-2-
第2章总体设计-3-
2.1变量和函数方..………………………………...-4-
第3章具体实现-4-
3.1Form1内部代码..…………………………….....-4-
3.2Form2内部代码..…………………………….....-5-
3.3排序并去初重复……………………………......-8-
第4章运行调试及结果分析-9-
4.1“体育彩票”界面…………………………......-10-
4.2“福利彩票”界面……………………………..-12-
第5章设计体会与小结-13-
参考文献-14-
附录(核心代码)………………………………......-14-
7.1form1中代码…………………………….....-14-
7.2form2中代码…………………………….....-14-
7.3form3中代码……………………………......-18-
绪论
“Visual”指的是开发图形用户界面的方法。
不需编写大量代码去描述界面元素的外观和位置,而只要把预先建立的对象加到屏幕上,一点即可。
Basic指的是beginnersall-purposesymbolicinstructioncode,一种在计算机技术发展历史上应用最为广泛的语言。
VisualBasic不仅是VisualBasic编程语言。
VisualBasic编程系统和VBA都使用这一语言。
VisualBasic6.0包括三种版本,分别为学习版、专业版和企业版3三种版本,满足不同的开发要求。
3种版本中,企业版功能最全,专业版包括了学习版的功能。
VB具有丰富数据类型是种符合结构化设计思想语言,VB采用了面对对象的思想,它基本思路是把复杂的设计问题分解为多个能够完成独立功能且相对简单的对象集合。
所谓“对象”就是个可操作实体如窗体、窗体中命令按钮、标签、文本框等,面向对象编程就是指程序员可根据界面设计要求直接在界面上设计出窗口、菜单、按钮等类型对象并为每个对象设置属性。
在Windows环境下是以事件驱动方式运行每个对象的都能响应多个区别事件,每个事件都能驱动段代码事件过程,该代码决定了对象功能。
通常称这种机制为事件驱动的编程机制。
可由用户操作触发也可以由系统或应用触发例如单击个命令按钮就触发了按钮Click(单击)事件该事件中代码就会被执行,若用户未进行任何操作(未触发事件)则就处于等待状态整个应用就是由彼此独立事件过程构成,VB为编程提供了个集成开发环境在这个环境中编程者可设计界面、编写代码、调试直至把应用编译成可在Windows中运行可执行文件并为它生成安装VB集成开发环境为编程者提供了很大方便用vb设计出来的彩票选号小助手就是用vb设计程序的集成开发环境在这个环境中编程者设计界面、编写代码、调试直至把应用编译成可在Windows中运行可执行用于彩票选号的程序。
第一章功能描述
图1-1程序启动窗口
在启动窗口中单击“体育彩票”按钮后,进入体彩传统型电脑彩票的选号窗口。
在该窗口中,每一注可单独投注,也可一次产生5注号码。
单击“开始”按钮,则单选框所对应的那一注的各个号码开始滚动,当单击“停止”按钮后,左边窗口中的号码从左到右依次停止滚动,产生一注号码,其中最右边的特别号码只能是0~4中的一个。
在福利彩票选好窗体中单击右边的单选框选择投注的注数时,左边的“幸运号码”区会相应地做出调整。
如选择三注,则只显示三行空格。
单击“清除”按钮,则清除显示内容,以便进行下次投注,单击“返回”则返回到启动窗口。
第二章总体设计
根据题目要求,设计一个供彩民买彩票时投注选号的程序(即自动生成投注号,不是开奖程序)。
目前我国发行的彩票主要有两大类,即体育彩票和福利彩票,每一类彩票都有多种投注方法。
窗体1中设计三个命令按钮,第一个命令按钮控制的是窗体2(传统型体育彩票),点击该命令按钮应该弹出窗体2,窗体1隐藏;第二个命令按钮控制的是窗体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窗体,分别对各个窗体进行界面控件设计,再对各个控件进行代码编写。
一些具体声明的变量和函数方法如下:
PrivateSubCommand1_Click()(控件点击的调用方法)
Command2.Enabled=(窗体控件是否可用)
PrivateSubForm_Load()(窗体运行)
PrivateSubTimer1_Timer()(计时器)
CallCommand2_Click(调用控件)
DimkAsInteger;
For
DoEvents
PrivateSubCommand1_Click()
Form1.Hide
Form2.Show
EndSub(不同窗体的切换方法)
Option5.Value=True
Text1(i).Text=(对控件属性进行赋值的方法)
Founction过程
Usechar等函数
第三章具体实现
把各个窗体中的各个控件的option属性改成想要的
内部创建文件的代码如下
(form1)
1).PrivateSubCommand1_Click()
Form1.Hide
Form2.Show
EndSub
PrivateSubCommand2_Click()
Form1.Hide
Form3.Show
EndSub
PrivateSubCommand3_Click()
EndEndSub(在窗体一中实现体彩和福彩及退出程序的选择的代码)
(form2)
1).设置计时器interval属性不为0
2).DimaAsInteger
PrivateSubCommand1_Click()
Command2.Enabled=True
Command1.Enabled=False
Timer1.Enabled=True
……….….
EndSub
PrivateSubCommand2_Click()
DimiAsLong
j=0
Command2.Enabled=False
Fori=1To3000
Forz=1To3000
j=j
Nextz
Nexti
DoEvents
….……
PrivateSubTimer1_Timer()
Randomize
Text1(a).Text=Rnd*100Mod10
EndSub
…….…….
PrivateSubTimer7_Timer()
Randomize
Text7(a).Text=Rnd*20Mod5
EndSub
(实现计时器和文本框里变化数字的衔接)
3)..PrivateSubOption1_Click(IndexAsInteger)
DimiAsInteger
Fori=1To5
IfOption1(i-1).ValueThen
a=i-1
EndIf
Nexti
EndSub
PrivateSubCommand3_Click()
Command1.Enabled=False
Command2.Enabled=False
DimkAsInteger
Fork=1To5
a=k-1
CallCommand1_Click
DoEvents
Fori=1To3000
Forz=1To3000
j=j
Nextz
Nexti
DoEvents
CallCommand2_Click
DoEvents
Nextk
EndSub
(Form3)
1).FunctionGenNnm()AsString
Dimstr1AsString
DimiAsInteger,NumAsInteger
DimusecharAsString
usechar="0102030405060708091011121314151617181920212223242526272829303132333435"
str1=""
Randomize
Fori=1To36
Num=Len(usechar)*Rnd+1
IfNumMod2=1Then
str1=str1+Mid(usechar,Num,2)
Else
str1=str1+Mid(usechar,Num-1,2)
EndIf
Nexti
GenNnm=str1
EndFunction
PrivateSubOption2_Click()
DimiAsInteger
Fori=14To34
Text1(i).Visible=False
Nexti
Fori=0To13
Text1(i).Visible=True
Nexti
Fori=0To34
Text1(i).Text=""
Nexti
EndSub
(option所涉及的彩票注数与文本框里显示联系起来的代码)
2)).PrivateSubCommand1_Click()
DimiAsInteger,jAsInteger,dAsInteger
DimaAsString
d=1
Fori=0To34
Text1(i).Text=Mid$(GenNnm,d,2)
d=d+2
Nexti
'1-7排序并去初重复(通过该方法实现所选投股数与窗体所能显示的text控件个数的衔接
第四章运行调试及结果分析
图4-1启动窗口
窗体1中设计三个命令按钮,第一个命令按钮控制的是窗体2(传统型体育彩票),点击该命令按钮应该弹出窗体2,窗体1隐藏;第二个命令按钮控制的是窗体3(35选7电脑福利彩票),点击该命令按钮的时候弹出窗体3,窗体1隐藏
⑵在启动窗口中单击“体育彩票”按钮后,进入体彩传统型电脑彩票的选号窗口(如图4-2所示)。
在该窗口中,每一注可单独投注,也可一次产生5注号码。
单击“开始”按钮,则单选框所对应的那一注的各个号码开始滚动,当单击“停止”按钮后,左边窗口中的号码从左到右依次停止滚动,产生一注号码,其中最右边的特别号码只能是0~4中的一个(如图4-3所示)。
图4-2“体育彩票”界面
图4-3生成一组号码
如果单击“自动”按钮,则从上到下一次产生5注号码(如图4-3所示)。
图4-4生成全部号码
图4-5“福利彩票”界面
图4-6生成3注号码
单击右边的单选框选择投注的注数时,左边的“幸运号码”区会相应地做出调整。
如选择三注,则只显示三行空格。
单击“清除”按钮,则清除显示内容,以便进行下次投注,单击“返回”则返回到启动窗口。
结果:
程序设计基本符合要求
第五章设计体会与小结
为了让我们加深对VB教程学习的理解,期末老师引导我们做了这个课程设计。
起初还十分担心,因为对自己掌握的VB只是并不自信。
但是,为了做好本次课程设计,我认真复习了《VisualBasic程序设计教程》的相关知识,对实验中所需涉及到的知识有更深入的了解和掌握。
在这一切的充分准备下,我认为,程序设计目的已较明确,程序实现起来较顺利,这让我体会到了平时踏实积累学习知识的重要性。
实验中与同学的交流合作,让我们彼此间的知识和思维进行了碰撞和进步。
本次课程设计的实验报告确实让我学习到了许多新鲜的知识,我更进一步了解了VisualBasic程序设计教程的相关知识,由于使用了VB语言进行程序的编写,这就在一定程度上锻炼了自己在VB方面的水平,也让我深刻地理解了,一种语言可以应用到很多的方面,尤其是在当今社会,对计算机的掌握水平提出了更高的要求。
作为一名合格的大学生,一名以后能胜任自己岗位的工作者,更要不断提升自己对计算机的掌握水平。
通过这次课程设计,我对原有的VB教材更加熟悉,了解更加透彻,运用更加灵活,获益匪浅。
我想这些都会对我以后的工作学习产生深刻的影响。
即使以后不从事系统软件方面的工作,这些代码实现的技巧也会对我作其他软件开发工作带来极大的助益。
同时,对阅读内核代码进行阅读、总结的过程也提高了我的分析问题、解决问题的能力,而这种能力是无论做什么工作都需要的。
在这过程中,让我懂得了团队合作非常的重要,在这期间我有很多不懂的问题,通过和同学一起讨论,很多问题都得到了有效的解决,这样不仅加深了和同学之间的友谊,也使我们在编程中有许多的乐趣。
这次程序设计,使我认识到,自己之前对VB的教材了解不够深入,只停留在知道的层面,这远远不够,我应该在以后的学习中,学会“学以致用”,知识只有用得多了才更熟练更深入,必须强化这一观念,不断提升自己在各方面的学习进步。
第六章参考文献
[1]熊李艳,周美玲主编;吴昊,杜玲玲副主编《VisualBasic程序设计教程》[M].北京:
人民邮电出版社,2007.
[2]李光明《VisualBasic6.0编程实例大制作》[M]冶金工业出版社
[3]袁帅,郭月强等编写的《VisualBasic编程实例教程》[M]北京希望电子出版社
[4]郑炳文编著《visualBasic程序设计例题汇编》[M]清华大学出版社
附录(核心代码)
Form1中的代码
PrivateSubCommand1_Click()
Form1.Hide
Form2.Show
EndSub
PrivateSubCommand2_Click()
Form1.Hide
Form3.Show
EndSub
PrivateSubCommand3_Click()
End
EndSub
Form2中的代码
DimaAsInteger
PrivateSubCommand1_Click()
Command2.Enabled=True
Command1.Enabled=False
Timer1.Enabled=True
Timer2.Enabled=True
Timer3.Enabled=True
Timer4.Enabled=True
Timer5.Enabled=True
Timer6.Enabled=True
Timer7.Enabled=True
EndSub
PrivateSubCommand2_Click()
DimiAsLong
DimzAsLong
DimjAsLong
j=0
Command2.Enabled=False
Fori=1To2500
Forz=1To2500
j=j
Nextz
Nexti
DoEvents
Timer1.Enabled=False
Fori=1To2500
Forz=1To2500
j=j
Nextz
Nexti
DoEvents
Timer2.Enabled=False
Fori=1To2500
Forz=1To2500
j=j
Nextz
Nexti
DoEvents
Timer3.Enabled=False
Fori=1To2500
Forz=1To2500
j=j
Nextz
Nexti
DoEvents
Timer4.Enabled=False
Fori=1To2500
Forz=1To2500
j=j
Nextz
Nexti
DoEvents
Timer5.Enabled=False
Fori=1To2500
Forz=1To2500
j=j
Nextz
Nexti
DoEvents
Timer6.Enabled=False
Fori=1To2500
Forz=1To2500
j=j
Nextz
Nexti
DoEvents
Timer7.Enabled=False
Command1.Enabled=True
EndSub
PrivateSubOption1_Click(IndexAsInteger)
DimiAsInteger
Fori=1To5
IfOption1(i-1).ValueThen
a=i-1
EndIf
Nexti
EndSub
PrivateSubCommand3_Click()
Command1.Enabled=False
Command2.Enabled=False
DimkAsInteger
Fork=1To5
a=k-1
CallCommand1_Click
DoEvents
Fori=1To2500
Forz=1To2500
j=j
Nextz
Nexti
DoEvents
CallCommand2_Click
DoEvents
Nextk
EndSub
PrivateSubCommand4_Click()
Form2.Hide
Form1.Show
EndSub
PrivateSubForm_Load()
Command2.Enabled=False
Option1(0).Value=True
Timer1.Enabled=False
Timer2.Enabled=False
Timer3.Enabled=False
Timer4.Enabled=False
Timer5.Enabled=False
Timer6.Enabled=False
Timer7.Enabled=False
EndSub
PrivateSubTimer1_Timer()
Randomize
Text1(a).Te