题库 高中信息

题干

某次测验后,一位同学利用VB编写了一个查分系统。他首先把班级所有同学的学号、姓名、总分及名次数据存放在名为“student.accdb”的info表中。查分系统的功能如下:在文本框Text1中输入学号,单击“开始查找”按钮,若找到该学号,则在标签Label4中该学生的学号、姓名、总分及名次;若找不到该学号,则显示“查无此人”。按此要求编写程序如下,但加框处代码有错,请改正。

Dim a (1 To 50) As String ’用来存放学号数据
Dim b (1 To 50) As String ’用来存放姓名数据
Dim c (1 To 50) As Single ’用来存放总分数据
Dim d (1 To 50) As Integer  ’用来存放名次数据
Private Sub Form_Load()
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
conn.ConnectionString=“Provider=Microsoft.ACE.OLEDB.12.0;DATA Soure=”+App.Path+“/Student.accdb”
conn.Open
Set rs.ActiveConnection=conn
rs.Open “SELECT*FROM info”
n=0
Do While Not rs.EOF
n=n+1
a(n)=rs.Fields(“学号”)
b(n)=rs.Fields(“姓名”)
c(n)=rs.Fields(“总分”)
d(n)=rs.Fields(“名次”)
rs.Move Next
Loop
rs.Close
conn.Close
Set rs=Nothing
Set conn=Nothing
End Sub
Private Sub Command1_click()
Dim key As String,i As Integer
Dim find As Boolean
key=Text1.Text
i=1
find=True
Do While And find①
If key=a(i) Then
find=False
Else
②
End If
Loop
If find=False Then
Label4.Caption=“学号为”+key+“的名字为”+b(i)+“总分为”+c(i)+“名次为”+d(i)
Else
Label4.Caption=“查无此人”
End If
End Sub
程序中①加框处改为:_____________________________________。
程序中②加框处改为:_____________________________________。
上一题 下一题 0.99难度 填空题 更新时间:2017-03-01 07:02:47

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

同类题2

曲哲同学设计了一个英文字符串的加密算法,其加密的方法如下:
1.从被加密字符串中获取单个字符,然后得到其ascii码的8位二进制编码。
2.将字符的二进制编码反向,得到其逆序二进制码。
3.将逆序二进制码的每4位转换为相应的十六进制编码,即得到单个字符加密后的字符串。
4.以此类推,直到所有字符加密完成,得到加密字符串。
具体程序界面如下图,在text1中输入字符串,点击“加密”按钮command1后,在text2中显示加密后的字符串。
(1)已知字符a的ascii码为97,则字符串idear加密后的字符串为____________________。
(2)阅读整段程序,程序中①画线处应填入
程序中②画线处应填入     。:学+科+网

Private Sub Command1_Click()
Dim s As String, ch As String
Dim result As String, chA As String, chB As String
Dim i As Integer, j As Integer
Dim n As Integer, m As Integer
s = Text1.Text
n = Len(s)
result = "": c = "0123456789ABCDEF"
For i =" 1" To n
ch =  ①
ch = niXu(ch)
m = 0
For j =" 1" To 4  ' 获取二进制码前4位的值
②
Next
chA =" Mid(c," m + 1, 1)
m = 0
For j =" 5" To Len(ch)
m =" m" * 2 + Val(Mid(ch, j, 1))
Next
chB =" Mid(c," m + 1, 1)
result =" result" + chA + chB
Next
Text2.Text = result
End Sub
' 得到单个字符ch的8位二进制编码
Function D2B(ByVal ch As String) As String
Dim s As String
Dim data As Integer, i As Integer
data = Asc(ch):s = ""
Do While data > 0
s ="Str(data" Mod 2) + s
data =" data" \ 2
Loop
If Len(s) < 8 Then
For i =" 1" To 8 - Len(s)
s = "0" + s
Next
D2B = s
Else
D2B = s
End If
End Function
' 返回字符串s的逆序
Function niXu(ByVal s As String) As String
Dim i As Integer:Dim r As String
r = ""
For i =" Len(s)" To 1 Step -1
r =" r" + Mid(s, i, 1)
Next
niXu = r
End Function