小明利用所學(xué)的知識(shí)幫助語(yǔ)文老師設(shè)計(jì)一個(gè)語(yǔ)文學(xué)考等級(jí)查詢系統(tǒng),要求如下:輸入某個(gè)等級(jí),就能查出該等級(jí)的所有學(xué)生學(xué)號(hào)和姓名,并統(tǒng)計(jì)出該等級(jí)學(xué)生的人數(shù),以便語(yǔ)文老師方便了解學(xué)生的學(xué)考情況.語(yǔ)文學(xué)考成績(jī)分A、B、C、D、E五個(gè)等級(jí),學(xué)生信息存儲(chǔ)在數(shù)據(jù)庫(kù)文件“stugrade.jye.ai”的數(shù)據(jù)表“Chinese”中,數(shù)據(jù)表“Chinese”的結(jié)構(gòu)如圖1所示.
VB程序運(yùn)行界面如圖2所示,在文本框Text1中輸入查詢的等級(jí),單擊“查詢”按鈕Command1,在列表框List1中顯示所有該等級(jí)的學(xué)生學(xué)號(hào)和姓名,并按照學(xué)號(hào)從小到大排序,并在標(biāo)簽Label2處顯示學(xué)生的人數(shù),如果人數(shù)為0,則在列表框中顯示“沒(méi)有該等級(jí)的學(xué)生”.按此要求編寫程序如下,但加框處代碼有錯(cuò)誤,請(qǐng)改正.
Private Sub Command1_Click ( )
Dim stuna(1To 100)As String'存放學(xué)生姓名的數(shù)組定義為stuna
Dim stunum(1To 100)As String'存放學(xué)生學(xué)號(hào)的數(shù)組定義為stunum
Dim i As Integer,j As Integer,n As Integer
Dim t As String
'連接數(shù)據(jù)庫(kù)
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim strSQL As String
cn.ConnectionString=“Provider=Microsoft.ACE.OLEDB.12.0;Data Source=“+App.Path+“\stugrade.jye.ai“
cn.Open
strSQL=“select*from Chinese where 語(yǔ)文等級(jí)='“+Text1.Text+“'“
Set rs.ActiveConnection=cn
rs.Open strSQL
n=0
Do While Not rs.EOF
n=n+1
stuna(n)=rs.Fields(“姓名“).Value
stunum(n)=rs.Fields(“學(xué)號(hào)“).Value
rs.NextMove'①
Loop
rs.Close
cn.Close
Set rs=Nothing
Set cn=Nothing
List1.Clear'清除列表框
If n=0Then
List1.AddItem“沒(méi)有該等級(jí)的學(xué)生“
Else
For i=1To n-1'按姓名排序
For j=n To i+1Step-1
If stuna(j)<stuna(j-1)Then'②
t=stunum(j):stunum(j)=stunum(j-1):stunum(j-1)=t
t=stuna(j):stuna(j)=stuna(j-1):stuna(j-1)=t
End If
Next j
Next i
For i=1To n
List1.AddItem stunum(i)+““+stuna(i)
Next i
Label2.Caption=“該等級(jí)的學(xué)生共有“+Str(n)+“名“
End If
End Sub
(1)加框處①有錯(cuò),應(yīng)改為rs.MoveNextrs.MoveNext.
(1)加框處②有錯(cuò),應(yīng)改為stunum(j)<stunum(j-1)stunum(j)<stunum(j-1).
【考點(diǎn)】對(duì)象的屬性、方法和事件;編輯事件處理過(guò)程的代碼.
【答案】rs.MoveNext;stunum(j)<stunum(j-1)
【解答】
【點(diǎn)評(píng)】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書(shū)面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/4/20 14:35:0組卷:6引用:1難度:0.1
相似題
-
1.如圖VB應(yīng)用程序界面所示,下列關(guān)于類與對(duì)象的說(shuō)法正確的是( ?。?br />
發(fā)布:2024/11/3 16:0:2組卷:5引用:2難度:0.7 -
2.編寫VB程序,實(shí)現(xiàn)如下功能:對(duì)于任意一個(gè)正整數(shù),如果是奇數(shù),則乘3加1,如果是偶數(shù),則除以2,得到的結(jié)果再按照上述規(guī)則重復(fù)處理,最終總能夠得到1.如,假定初始整數(shù)為5,計(jì)算過(guò)程分別為16、8、4,、2、1.
程序要求輸入一個(gè)整數(shù)到Text1,單擊命令按鈕Command1,將經(jīng)過(guò)處理得到1的過(guò)程輸出到List1上面,運(yùn)行效果如圖2所示.
(1)如果將窗體左上角標(biāo)題“Form1”改為“角谷猜想”,可將Form1的
(2)為實(shí)現(xiàn)上述功能,請(qǐng)?jiān)跈M線處填入合適代碼.
Private Sub Command1_Click ( )
Dim x As Long
x=Val(Text1.Text)'將text1中的內(nèi)容賦值給x
Do While x<>1
If
x=x*3+1
Else'x為偶數(shù)的情況
x=
List1.AddItem“x=“& Str(x)'將x的變化添加到list1上
Loop
End Sub
橫線處①應(yīng)填入
(3)運(yùn)行程序是,發(fā)下如2圖所示錯(cuò)誤,原因可能是發(fā)布:2024/10/26 17:0:2組卷:7引用:1難度:0.1 -
3.日期判斷:從文本框Text1輸入一個(gè)8位數(shù)字表示的日期,其中第1到4位表示年(第1位確定不為零),第5到6位表示月,第7到8位表示日.單擊“判斷”按鈕,判斷該日期是否合法,將結(jié)果依次輸出到列表框List1.程序界面如下圖所示:
提示:年份值符合下列兩種情況之一的是閏年.
1.年份是4的倍數(shù),但不是100的倍數(shù);
2.年份是400的倍數(shù).
(1)觀察程序代碼,可知“判斷”按鈕的對(duì)象名為
(2)為實(shí)現(xiàn)上述功能,請(qǐng)?jiān)跈M線處填入合適的代碼.
Private Sub Judge_Click( )Dim riqi As String,st As String
Dim year As Integer,month As Integer,day As Integer
Dim rn As Boolean,hefa As Boolean
riqi=Text1.Text
year=Val(Mid(riqi,1,4))
month=Val(Mid(riqi,5,2))
day=①
st=Str(year)+“年“+Str(month)+“月“+Str(day)+“日“
rn=False‘用于判斷是否為閏年
If②
If year Mod 4=0And year Mod 100<>0Then rn=True
hefa=True‘用于判斷是否為合法日期
If month=0Or month>12Then hefa=False
If day=0Then hefa=False
If (month=1Or month=3Or month=5Or month=7Or’與下一行語(yǔ)句同行
month=8Or month=10Or month=12)And day>31Then hefa=False
If (month=4Or month=6Or month=9Or month=11)’與下一行語(yǔ)句同行
And day>30Then hefa=False
If ③
’第③處,判斷閏年2月的天數(shù)是否合法
If month=2And Rn=False And day>28Then hefa=False
If hefa=True Then st=st+“合法日期“Else st=st+“非法日期“
List1.AddItem st
End Sub.發(fā)布:2024/10/31 8:0:1組卷:8引用:0難度:0.1
把好題分享給你的好友吧~~