編寫一個VB抽獎程序,功能如下:從數(shù)據(jù)庫讀取相關(guān)數(shù)據(jù)并顯示在列表框List1中,在文本框Text1中輸入中獎人數(shù),單擊“抽獎”按鈕Command1,在列表框List2中輸出 結(jié)果。
抽獎規(guī)則:中獎人數(shù)為1人,男女不限;
中獎人數(shù)超1人,男女對半(奇數(shù)時女性多1人)。
程序運行界面如圖所示。
實現(xiàn)上述功能的VB程序如下:
Dim xm(1 To 500)As String,xh(1 To 500)As String,xb(1 To 500)As String
Dim n As Integer'學(xué)生總?cè)藬?shù)
Dim a(1 To 100)As Integer'抽中序號
Private Sub Form_Load ( )
'本過程讀取n位同學(xué)的序號、姓名和性別,
'分別存儲在數(shù)組xh、xm、xb中
'并在List1中顯示,代碼略
End Sub
Private Sub Command1_Click ( )
Dim rs As Integer,m As Integer,x As Integer,girl As Integer,i As Integer
Dim xbs(1 To 500)As Integer
Randomize
List2.Clear
List2.AddItem“姓名“&““&“性別“
rs=Val(Text1.Text)Val(Text1.Text)
For i=1 To n
If xb(i)=“女“Then xbs(i)=1 Else xbs(i)=0
Next i
m=0
girl=0
If rs=1 Then
x=Int(Rnd*n)+1
List2.AddItem xm(x) &““& xb(x)
Else
Do While m<rs
x=Int(Rnd*n)+1
If checkf(x) Then
m=m+1:a(m)=x
girl=girl+xbs(a(m))
Ifm-girl>rs\2m-girl>rs\2 Then
a(m)=0:m=m-1
ElseIf girl>(rs+1)\2 Then
a(m)=0:m=m-1
girl=girl-1girl=girl-1
End If
End If
Loop
For i=1 To m
List2.AddItem
Next i
End If
End Sub
Function checkf(p As Integer) As Boolean
'核對重復(fù)中獎,未中過獎返回True
'代碼略
End Function
(1)請在橫線處填入合適的代碼。
(2)程序中加框代碼有錯,請改正。
xm(a(i)) &“”& xb(a(i))xm(a(i)) &“”& xb(a(i))
【考點】應(yīng)用程序的試運行和保存.
【答案】Val(Text1.Text);m-girl>rs\2;girl=girl-1;xm(a(i)) &“”& xb(a(i))
【解答】
【點評】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/4/20 14:35:0組卷:3引用:2難度:0.3
相似題
-
1.有如下VB程序段:
執(zhí)行該程序段后,變量c的值是( ?。?/h2>發(fā)布:2024/12/16 5:0:1組卷:1引用:2難度:0.3 -
2.小明用python語言中對大小為100*100像素的圖像“上.jpg”(如圖所示)進行簡單處理,部分代碼如圖:
程序執(zhí)行后的圖像效果是( ?。?/h2>發(fā)布:2024/12/20 9:30:2組卷:3引用:5難度:0.4 -
3.由大寫字母組成的長度相同的兩個字符串s1和s2,檢測各字母的數(shù)量,如“ABDAC”與“AABCD”所含字母數(shù)量一樣,與“AABBC”所含字母數(shù)量不一樣。實現(xiàn)該功能的VB程序段如下:
填空處的代碼可以由以下部分組成:
①Text2.Text ②val(Text2.Text) ③b(a)=b(a)+1 ④b(a)=b(a)-1 ⑤b(i)<>0⑥b(i)=0
代碼順序正確的是( ?。?/h2>發(fā)布:2024/12/16 9:30:1組卷:3引用:3難度:0.4
把好題分享給你的好友吧~~