top
Loading...
用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
作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗