华侨大学厦门工学院虚拟测试技术课程设计报告题目:基于LabVIEW的彩票选号器设计专业、班级:学生姓名:学号:指导教师:2014年6月10日目录2一、设计实现的功能.....................................................................................................3二、前面板设计..........................................................................................................3三、程序框图设计........................................................................................................41、双色球随机选号.................................................................................................42、双色球号码排序.................................................................................................43、用户自主选号输入以及LED灯提示消息.........................................................54、中奖信息提示.....................................................................................................55、机选功能.............................................................................................................8四、结论.......................................................................................................................8五、致谢......................................................................................................................8六、参考文献...............................................................................................................9附录、成绩评定表.......................................................................................................10一、设计实现的功能3本设计为彩票选号器,主要功能是对双色球进行随机选号,当按下摇奖按钮时,六个红球和一个蓝球将进行随机选号,当按下停按钮时,双色球结束选号,显示在相应的双色球上的数字即为选号结果(PS:红球号码为1~33;蓝球号码为1~16);用户还可以在界面中输入自己选择的双色球号码,若有与随机选号的结果相同的号码,则相应的双色球下的灯会亮起,并且,在界面中还会提示用户的中奖情况;本设计还为用户提供了机选功能,其只能在双色球随机选号前进行。二、前面板设计前面板主要分别四个部分,一、双色球的随机摇号功能;二、用户自主选号功能;三、用户选号与系统随机选号结果进行匹对,用LED提示结果并显示中奖情况;四、双色球机选功能。如图:三、程序框图设计41、双色球随机选号利用条件结构,实现当摇奖按钮按下时,开始摇奖。设计一个for循环语句,N=33,调用7个删除数组元素函数,分别对应双色球的7个球,已删除部分连接7个球上显示的数值,6个红球所对应的删除数组元素上的索引分别接,(27~32)*随机数(0~1)向下取整再加一,蓝球对应索引为15*随机数(0~1)向下取整再加一,来保证随机产生的数为正确的双色球号码范围,且6个红球的号码不会存在重复的情况。2、双色球号码排序当6个红球的随机号码产生后,将其组成数组,再利用数组排序函数,将其从小到大重新排序。3、用户自主选号输入以及LED灯提示消息利用数值输入控件让用户输入选号的情况,当摇奖结束了,系统自动判断相5应的双色球上的号码与用户选的号码时候一致,若一致,则相应的LED灯亮起,提示这位号码竞猜正确。4、中奖信息提示在摇奖为假(即摇奖结束)的结构框图中,设计三重嵌套的条件结构,当蓝球没有选中时,未中奖栏显示再接再励,其他栏不显示任何东西;当蓝球选中时,若红球没有一个选中,则三等奖栏显示恭喜获得此奖,其他栏不显示;当蓝球选中,且红球没有6个全部选中时,二等奖栏显示恭喜获得此奖;当全部双色球都选中时,在一等奖栏显示不可能的。一等奖:6二等奖:三等奖:7未中奖:85、机选功能机选功能的程序图与双色球的摇奖是一样的,只是其程序图必须在摇奖判断为假的情况下执行,这是由于在实际情况中,机选都是在摇奖开始前进行的,所以当摇奖开始后,按机选按钮就不会有反应了。四、调试过程调试过程中发生的问题:1、双色球选号发生重复。解决方法:利用删除数组和for循环语句,将N=33的for循环语句作为数组输入,进行随机选号,将随机选到的号码通过删除数组删掉,并把已删除的号码显示出来,将已删除元素的数组子集作为新的数组接入删除数组,重复步骤,直至显示出6个号码,这样利用删除数组,可以避免产生选号时可能发生的号码重复现象。2、随机选号后,双色球没有按照从小到大的顺序显示。利用一维数组排序和索引数组,可以很简单得完成双色球号码的排序,首先,要把6个号码组成一个数组,接入一维数组排序函数,再分成6条分支,分别接6个索引数组,索引分别为0~5,这样,运行程序的时候就可以将6个数从小到大分别从0~5的索引数组输出。五、结论通过这次双色球选号的设计,使我对LabView设计有了更深层次的理解,我们无法单单从课堂上的理论知识学习就学好它,我们必须在了解它的编程思想的基础上,掌握其编写要领,通过不断的实践,来提高自己的编程能力,能够做到按照系统的需求来进行对程序框图的编写和调试。在这次程序编写、调试的过程中,我们遇到了不少的麻烦,比如选号过程的设计、排序的设计等等,不过我们通过上网以及参考书的相关查阅,让这些问题都得以解决,使我们的能力有了明显的提升。六、致谢在本次的课程设计中,我得到了许多人的帮助。首先得感谢老师在理论课上对我们的耐心教诲,给我们动手实践提供了一个良好的基础。其次,在完成程序9框图编写的过程中,出现了大大小小不少的问题,多谢了同学与学长的指导,才解决了问题,最终,我才能良好得完成这次的课程设计。七、参考文献[1]谢伟.基于LabVIEW的研究.工程硕士学位论文.长沙:中南大学.2007.[2]LabVIEW教程.[1]虚拟仪器应用技术项目教程/秦益林,李晴编著[2]Labview2009程序设计;10虚拟测试技术课程设计成绩评定表序号评价指标满分值得分1课题功能设计合理,工作量大10分程序功能模块划分清晰10分2前面板设计模块化,界面美观10分3程序框图设计思路正确、有新意10分4整体程序调试成功,能基本实现功能25分5作品能实现发挥或创新性功能15分6报告结构合理、规范,条理清晰10分7课程设计过程中的学习态度认真10分总评教师评语:指导教师年月日