某商场元月举行VIP客户积分换购活动,VIP客户根据卡内积分多少可换取不同额度的代金券.假设VIP客户共有n名,VIP卡内积分存放在数据库“customer.jye.ai”的Integral表中,换购活动的VB程序代码如下,程序运行时界面如第7题图所示.工作人员在文本框Text1中输入VIP卡号后,单击“换购”按钮Command1,在文本框Text2中输出VIP客户的积分数,在标签Label3中显示可以换购的代金券额度,积分清零.按此要求编写程序如下,但加框处代码有错,请改正.

Dim ID As String'用于存放客户卡号
Dim total As Long'用于存放积分数
Dim sc As Long'VIP客户人数
Dim jf As Long'积分数
Private Sub Command1_Click ( )
Dim k As String'客户卡号
Dim q As Long'代金券额度
Dim i As Long
k=Text1.Text
For i=1To sc’顺序查找
If ID(i)=k Then
jf=total(i)
cash(jf)=q’①
Exit For
End If
Text2.Text=Str(jf)
Label3.Caption=“您可换购的代金券总额为:”+Str(q)+“元”
Next i
End If
End Sub
'cash函数用于计算VIP客户可换购的代金券额度
Function cash(jf As Long) As Long
If jf>=2000And jf<=20000Then
Cash=jf\2000*10
ElseIf jf>20000And jf<=50000Then
Cash=jf\2000*11
ElseIf jf>50000And jf<=100000Then
Cash=jf\2000*12
ElseIf jf>100000And jf<=150000Then
Cash=jf\2000*13
Else jf>150000Then’②
Cash=jf\2000*14
End If
End Function
Private Sub Form_Load ( )
Dim conn As New ADODB.Connection,rs As New ADODB.Recordset
Dim intSQL As Long
conn.ConnectionString=“Provider=Microsoft.ACE.OLEDB.12.0;Data Source=“+App.Path+“\customer.jye.ai“
conn.Open
intSQL=“SELECT score FROM Integral“
Set rs.ActiveConnection=conn
rs.CursorType=adOpenStatic
rs.Open intSQL
sc=0
Do While Not rs.EOF
sc=sc+1
total(sc)=rs.Fields(“score“)
rs.MoveNext
Loop
rs.Close
conn.Close
Set rs=Nothing
Set conn=Nothing
End Sub
(1)加框处①有错,应改为q=cash(jf)q=cash(jf).
(2)加框处②有错,应改为ElseIf jf>150000 ThenElseIf jf>150000 Then.
【考点】对象的属性、方法和事件;编辑事件处理过程的代码.
【答案】q=cash(jf);ElseIf jf>150000 Then
【解答】
【点评】
声明:本试题解析著作权属菁优网所有,未经书面同意,不得复制发布。
发布:2024/6/27 10:35:59组卷:6引用:1难度:0.1
相似题
-
1.运行列表框对象语句:List1.AddItem=“同学们好!“,会显示:同学们好!;
发布:2025/1/2 11:30:1组卷:6引用:6难度:0.9 -
2.小张设计了一个“加减运算练习”VB程序.界面如下图所示.单击“出题”Command1按钮显示两个运算数和运算符号,并计数.在文本框Text1中输入计算结果后单击“判断”按钮Command2,如果计算结果正确,则得分加10分,直至完成10题测试.VB程序如下,但加下横线处代码有错,请改正.
Dim n,s As Integer'n为试题计数器,s为得分
Dim a,b As Integer'a,b 为两个运算数
Dim c As String'c为运算符:“+“表示加法,“-“表示减法
Private Sub Form_Load( )n=0:
s=0
End Sub
Private Sub Command1_Click( )‘出题按钮
Randomize
n=n+1
If n<11Then
Label1.Caption=“No:“+Str(n)
a=Int(Rnd*100)'a,b为运算数,且要求a不小于b
b=Int(Rnd*100)
If a>bThen t=a:a=b:b=t'(1)
If Rnd>0.5Then c=“+“Else b=“-“'(2)
Label5.Caption=Str(a)+c+Str(b)+“=“
Text1.Text=““
Else
Command1.Caption=“完成测试“
End If
End Sub
Private Sub Command2_Click( )‘判断按钮
If c=“+“Then
If a+b=Val(Text1.Text) Then s=s+10
Else
If a+b=Val(Text1.Text)Then s=s+10'(3)
End If
Label3.Caption=“得分:“+Str(s)
End Sub.发布:2025/1/2 9:30:2组卷:6引用:2难度:0.9 -
3.某智能农场启用了根据土壤湿度自动控制喷淋装置进行浇水的信息系统,每隔一段时间,系统自动检测土壤湿度,当土壤湿度低于某个阈值时将自动浇水。小李为统计出某段时间内(不超过100个时间单位)系统自动控制浇水的次数和该时间段内前后两次启动自动浇水系统的最大时间间隔单位,小李进行了数据分析,他认为如果某单位时间的土壤湿度比前一单位时间的土壤湿度高并且本单位时间内没有下雨,则认为启用了浇水系统。由此他编写了一个VB程序实现该功能:在文本框Text1中输入某段时间内的湿度值,在文本框Text2中输入该段时间内对应的天气情况,单击命令按钮Command1,在文本框Text3中显示系统自动浇水次数,Text4中显示前后两次自动浇水系统启用的最大时间间隔单位。
(1)在Private Sub Command1_Click( )中,Command1、Click分别表示
(2)实现上述功能的VB程序如下,请在画线处填入合适的代码。
(3)程序中加框处代码有错,请改正。发布:2025/1/2 11:0:1组卷:0引用:1难度:0.3