VB.net 2010 視頻教程 VB.net 2010 視頻教程 VB.net 2010 視頻教程
SQL Server 2008 視頻教程 c#入門經典教程 Visual Basic從門到精通視頻教程
當前位置:
魔兽世界wow > 編程開發 > vb >
  • vb教程之用VB編寫接近實際的抽獎程序

  • 2017-09-21 22:35 來源:未知
  近來彩票風行全國,普通人將他作為改變生活的希望,國家將他作為創收的一個項目。筆者設計了一個頗有味道的彩票程序,希望能幫助您重獎,如果您中獎請通知我,呵呵。 

  '本程序以"江蘇風采福利彩票"(36選7)為例 

  '由于福利彩票是從36個球中選出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
相關教程