某会所采用会员制度,对会员消费实行积分奖励,利用VB编写一个程序,实现的功能:在文本框Text1、Text2中输入一个积分的范围,在列表框List2中显示该范围内的会员编号和对应的积分。多个会员可能有相同的积分,先用对分查找法找到该范围内的最小积分编号的下标,再循环输出该范围的会员编号情况。程序运行界面如图所示。
程序代码如下,为实现以上功能,请在横线处填写合适的代码:
Dim jf(800) As Integer, hyh(800) As String, n As Integer
Dim n As Integer ′表示会员的总人数
Private Sub Form_Load()
′从数据库中读取会员编号和积分,并按积分值从小到大排序,显示在列表框List1中
For i=1 To n
List1.AddItem hyh(i)+“ ”+Str(jf(i))
Next i
End Sub
Private Sub Command1_Click()
Dim i As Integer, j As Integer, m As Integer, k1 As Integer, k2 As Integer
k1=Val(Text1.Text): k2=Val(Text2.Text)
If k1 > k2 Then t=k1: k1=k2: k2=t
If k1 > jf(n) Or k2 < jf(1) Then
List2.AddItem “没有找到该范围的数据!”
Text3.Text=“0”: Exit Sub
End If
i=1
j=n
Do While i <= j
m=Int((i+j) / 2)
If jf(m) > k1 Then
j=m - 1
ElseIf jf(m) < k1 Then
i=m+1
Else
If Then
j=m - 1
Else
p=m
Exit Do
End If
End If
Loop
If i > j Then p =
k=0
Do While And p <= n
List2.AddItem hyh(p)+ “ ”+Str(jf(p))
p=p+1
Loop
Text3.Text=Str(k)0
End Sub