用VB編寫接近實(shí)際的抽獎(jiǎng)程序
發(fā)表時(shí)間:2023-08-13 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]近來彩票風(fēng)行全國(guó),普通人將他作為改變生活的希望,國(guó)家將他作為創(chuàng)收的一個(gè)項(xiàng)目。筆者設(shè)計(jì)了一個(gè)頗有味道的彩票程序,希望能幫助您重獎(jiǎng),如果您中獎(jiǎng)?wù)埻ㄖ?呵呵。 '本程序以"江蘇風(fēng)采...
近來彩票風(fēng)行全國(guó),普通人將他作為改變生活的希望,國(guó)家將他作為創(chuàng)收的一個(gè)項(xiàng)目。筆者設(shè)計(jì)了一個(gè)頗有味道的彩票程序,希望能幫助您重獎(jiǎng),如果您中獎(jiǎng)?wù)埻ㄖ?呵呵。
'本程序以"江蘇風(fēng)采福利彩票"(36選7)為例
'由于福利彩票是從36個(gè)球中選出7個(gè)球,有一些資料上介紹是用隨機(jī)函數(shù)產(chǎn)生一個(gè)數(shù),為了避產(chǎn)生重復(fù)的數(shù)故而進(jìn)行比較,重復(fù)時(shí)舍棄重選。或者做7個(gè)變量使它們不同。
'本程序特點(diǎn)接近實(shí)際,ListBox作為數(shù)據(jù)容器,每產(chǎn)生一個(gè)數(shù)將其移去(RemoveItem方法)。產(chǎn)的數(shù)放在數(shù)組中,最后再排序。
'在窗體中放置兩個(gè)命令按鈕(CmdRnd,CmdExit);包含5個(gè)元素的控件數(shù)(text1(0)~text1(4));一個(gè)組合框控件List1,將其Visible屬性設(shè)置為False。
'注:可以用ComboBox控件代替ListBox控件,只要將程序中的ListBox控件(list1)改
為ComboBox控件(combo1)即可。
'聲明
Private Const AllData = 36 '總數(shù)為36
Private Const Choose = 7 '要選出的數(shù)為7個(gè)
Dim Num(Choose - 1) As Byte '數(shù)組用來存放選出的數(shù)
Private Sub CmdRnd_Click() '產(chǎn)生隨機(jī)數(shù)
Dim i, j, RndData
For j = 0 To 4 '產(chǎn)生5組數(shù)據(jù)
For i = 1 To AllData
List1.AddItem i
Next i
For i = 0 To Choose - 1
Randomize '初始化隨機(jī)數(shù)的種子數(shù)
RndData = Int(((AllData - i) * Rnd) + 1)
Num(i) = List1.List(RndData - 1)
List1.RemoveItem (RndData - 1)
Next i
PopSort '調(diào)用冒泡排序
Text1(j) = " "
For i = 0 To Choose - 1
If Num(i) < 10 Then
Text1(j) = Text1(j) & "0" & Num(i) & " " '小于10的數(shù)在前面補(bǔ)“0”
Else
Text1(j) = Text1(j) & Num(i) & " "
End If
Next i
List1.Clear '清除總數(shù)容器
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