VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > vb >
  • vb教程之用VB编写接近实际的抽奖程序

  近来彩票风行全国,普通人将他作为改变生活的希望,国家将他作为创收的一个项目。笔者设计了一个颇有味道的彩票程序,希望能帮助您重奖,如果您中奖请通知我,呵呵。 

  '本程序以"江苏风采福利彩票"(36选7)为例 

  '由于福利彩票是从36个球中选出7个球,有一些资料上介绍是用随机函数产生一个数,为了避产生重复的数故而进行比较,重复时舍弃重选。或者做7个变量使它们不同。 

  '本程序特点接近实际,ListBox作为数据容器,每产生一个数将其移去(RemoveItem方法)。产的数放在数组中,最后再排序。 

  '在窗体中放置两个命令按钮(CmdRnd,CmdExit);包含5个元素的控件数(text1(0)~text1(4));一个组合框控件List1,将其Visible属性设置为False。 

  '注:可以用ComboBox控件代替ListBox控件,只要将程序中的ListBox控件(list1)改 
为ComboBox控件(combo1)即可。 

  '声明 

  Private Const AllData = 36 '总数为36 

  Private Const Choose = 7 '要选出的数为7个 

  Dim Num(Choose - 1) As Byte '数组用来存放选出的数 

  Private Sub CmdRnd_Click() '产生随机数 

  Dim i, j, RndData 

  For j = 0 To 4 '产生5组数据 

   For i = 1 To AllData 

    List1.AddItem i 

   Next i 

   For i = 0 To Choose - 1 

    Randomize '初始化随机数的种子数 

    RndData = Int(((AllData - i) * Rnd) + 1) 

    Num(i) = List1.List(RndData - 1) 

    List1.RemoveItem (RndData - 1) 

   Next i 

   PopSort '调用冒泡排序 

   Text1(j) = " " 

   For i = 0 To Choose - 1 

    If Num(i) < 10 Then 

     Text1(j) = Text1(j) & "0" & Num(i) & " " '小于10的数在前面补“0” 

    Else 

     Text1(j) = Text1(j) & Num(i) & " " 

    End If 

   Next i 

   List1.Clear '清除总数容器 

  Next j 

  End Sub 

  Sub PopSort() '冒泡排序 

    Dim i, j, Temp As Byte 

    For i = Choose - 1 To 1 Step -1 

     For j = Choose - 1 To 1 Step -1 

      If i >= Choose - 1 - j Then 

       If Num(j) < Num(j - 1) Then 

         Temp = Num(j - 1) 

         Num(j - 1) = Num(j) 

         Num(j) = Temp 

       End If 

      End If 

     Next j 

    Next i 

   End Sub 

  Private Sub CmdExit_Click() '退出程序 

   Unload Me 

  End 

 End Sub

相关教程