预览加载中,请您耐心等待几秒...
1/3
2/3
3/3

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

VB课程设计任务书–自动发牌第页共NUMPAGES3页河北工业大学计算机软件技术基础(VB)课程设计任务书本题难度级别:B实现基本要求代码:约150行主要涉及:标签控件、控件数组一、设计题目:电话号码抽奖(出题人:陈冀川)二、目的与要求1.目的培养学生综合利用VB语言进行程序设计,解决实际问题的能力。2.基本要求程序实现从一组电话号码中抽出5中奖号码功能。3.创新要求在基本要求达到后,进行创新设计,创新方向提示如下:增加设定获奖等级、获奖名额的功能;增加抽奖信息(姓名、手机号码等)从文本文件或Excel文件读入的功能;增加中奖信息输出到文件的功能;其他你能够想到或者希望实现的功能。三、设计方法和基本原理1.问题描述点击“开始”,参与抽奖的电话号码在屏幕上滚动显示,点击“停止”,中间的号码被抽中,被抽中的号码显示红色显示。抽奖5次后把中奖号码用MsgBox输出。2.问题的解决方案①设计程序界面。主窗体如上图。点击开始按钮后,隐藏开始按钮,电话号码开始在窗口由下往上快速滚动,电话号码循环显示。点击停止,停止滚动,“停止”按钮变为“继续”,距离窗口中间线最近的电话号码被抽中,字体变成红色。点击“继续”,按钮变为“停止”,电话号码恢复滚动……②分析程序构成窗体上用Frame控件画出一个显示区域,在Frame控件里添加Label控件数组。在开始点击事件里,根据Frame控件大小调整Label的大小,动态产生N个Label控件元素并启动Timer控件。在Timer事件中,通过修改Label.Top属性,实现向上滚动。Label的N个数组元素由下而上滚动,移出Frame后再次回到Frame底部,可以把Label看成是一节节搬运电话号码的车厢,从底部装载,运到顶部,不停循环。抽中的电话号码要从数组中删除,保证不会抽到重号。③编写代码距离窗口中间线最近的电话号码被抽中参考代码:Distance=Abs(Frame1.Height/2-lblNum(lblNum.LBound).Top)P=lblNum.LBoundForI=lblNum.LBound+1TolblNum.UBoundIfAbs(Frame1.Height/2-lblNum(I).Top)<DistanceThenDistance=Abs(Frame1.Height/2-lblNum(I).Top)P=IEndIfNextILabel移出后重新装载号码回到底部的参考代码:IflblNum(I).Top<=-lblNum(0).HeightThenlblNum(I).Top=Frame1.HeightlblNum(I).Caption=PhoneNum(PhoneIndex)PhoneIndex=PhoneIndex+1IfPhoneIndex>UBound(PhoneNum)ThenPhoneIndex=LBound(PhoneNum)EndIfEndIf四、主要技术问题的描述本题技术重点除了动态加载控件数组元素、设置对象属性外,还要用数组元素删除函数过程。参考实验教程的数组元素删除函数。抽到的电话号码要从电话号码数组中删除,防止被重复抽到。五、参考资料VisualBasic程序设计教程及VisualBasic实验教程VB6.0程序员指南VB6.0控件参考手册MSDN中文版,课程设计网站上提供的其它资料。六、设计部分的评分标准(本题难度为B级,综合时乘难度系数1.0)完成基本要求80完成基本要求后的扩展要求90所有要求完成并且有创新100[注:最后得分是根据本部分得分(占最大比例)以及课程设计期间纪律、设计报告书、答辩情况综合得出)