题库 高中信息

题干

王老师采用星级制对本班学生的平时表现进行评价,每位同学的评分数据储存在数据库中。学生的得分和星级对照如下表:
成绩
1-20
21-40
41-60
61-80
81-100
星级
一星
二星
三星
四星
五星
 
要求依据上表统计出各星级学生人数占总人数的比例。小王编写了一个VB程序实现该功能:程序运行时,每位学生的得分存储到数组a中,并在列表框listl中显示,单击命令按钮后,在列表框list2中显示各星级的人数占总人数的百分比例。程序运行界面如图所示:

(1)观察代码,实现统计功能的按钮对象名为:_______。
(2)当前读取的数据表名为:_________________
(3)实现上述功能的VB代码如下,划线①、②处请填空。
Const n = 50
Dim a(1 To n) As Integer
Dim b(0 To 4) As Integer
Private Sub Form_Load( )
Dim adocn  As New ADODB. Connection
Dim adors As New AD0DB. Recordset
Dim strl,str2 As String
adocn. ConnectionString =”provider= microsoft. ace. oledb.12.0;data source=” +
App. Path + ”\school. accdb”
adocn.Open
str2 = ”select * from student”
adors.0pen str2,adocn
’以下将每个学生的得分读入组数a中,并在列表框list1中显示,代码略
End Sub
Private Sub Coml_Click()
Dim dd As String
Dim cou As Single
Dim t as integer
dd=“一星二星三星四星五星”
For i = 1 To n
t=______________________
b(t)=b(t)+1
Next i
For i = 0 To 4
cou = Int(b(i)/n * 100 + 0.5)
1ist2. AddItem,_______________+ Str(cou) + “%”
Next i
End Sub
上一题 下一题 0.99难度 填空题 更新时间:2019-08-11 04:23:30

答案(点此获取答案解析)

同类题4

某商场元月举行VIP客户积分换购活动,VIP客户根据卡内积分多少可换取不同额度的代金券。假设VIP客户共有n名,VIP卡内积分存放在数据库“customer.accdb”的Integral表中,换购活动的VB程序代码如下,程序运行时界面如图所示。工作人员在文本框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 =" 1" To 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 >=" 2000" And jf <=" 20000" Then
Cash = jf\2000*10
ElseIf jf > 20000 And jf <=" 50000" Then
Cash = jf\2000*11
ElseIf jf > 50000 And jf <=" 100000" Then
Cash = jf\2000*12
ElseIf jf > 100000 And jf <=" 150000" Then
Cash = jf\2000*13
 Else jf > 150000 Then ’ ②
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.accdb"
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)加框处①有错,应改为_____________________。
(2)加框处②有错,应改为_____________________。