【加试题】为破解看病手续烦琐问题,杭州市卫生局、杭州市医疗保险管理服务局、杭州市民卡有限公司推出了“智慧医疗结算”便民服务。持卡人只要在市民卡电子帐户内预充小额费用,就可在医生诊室直接刷卡支付需现金付费的部分。 杭州市民卡是一张集成电路卡,具有信息储存、身份识别、电子支付等功能。每位市民卡的卡号是唯一的,卡内会记录每位市民的姓名、住址、金额等信息。
假设共有100000个市民,市民的卡号、姓名和金额分别存放在数组a、b和数组c中,a(i)是存放第i个市民的卡号,则对应的第i个市民的姓名存放在b(i)中,金额存放在c(i)中。
通过卡号查询其姓名和余额的程序界面如图所示。在文本框Text1中输入卡号,单击“开始查询”按钮,如果找到,就在Label1中显示卡内市民姓名和金额;否则显示“查无此人”。已知卡号按照从小到大排序。请按要求将下列程序补充完整。
Dim a (1 To 100000) As long
Dim b (1 To 100000) As string
Dim c (1 To 100000) As long
Private Sub Command1_Click()
Dim x As Long, i As Long, j As Long, m As Long, f As Boolean
x = Val(Text1.Text)
i = 1: j = 100000: f = False 、
Do While i<=j and f=false
①
If x= a(m) Then
f = True
ElseIf x< a(m) Then
j = m - 1
Else
②
End If
Loop
If f=false Then
Label1.Caption =”查无此人”
Else
Label1.Caption = b(i)+ "卡内余额为"+ Str(c(i)) + "元"
End If
End Sub
Private Sub Form_Load()
’ 此过程用于对数组a、b和c进行初始赋值,代码略
End Sub