程序功能如下: 在窗體加載時(shí),從數(shù)據(jù)庫(kù)中讀取學(xué)生總數(shù)N;讀取N名學(xué)生的信息存儲(chǔ)在相關(guān)數(shù)組中。N名學(xué)生的學(xué)號(hào)依次存儲(chǔ)在數(shù)組xh(1)~xh(n) 中;學(xué)號(hào)為i的學(xué)生的總成績(jī)存儲(chǔ)在數(shù)組 zf(i)中,課程選修信息存儲(chǔ)在xk(i)中; 點(diǎn)擊“統(tǒng)計(jì)”按鈕后,程序篩選出所有技術(shù)考生的相關(guān)信息,并計(jì)算該學(xué)生在所有技術(shù)考生中的排名(總分相同的,排名也相同)。 實(shí)現(xiàn)上述功能的VB程序如下,請(qǐng)回答下列問題: (1)請(qǐng)?jiān)跈M線處填入合適的代碼。 Dim xh(1 To 1000)As Integer’數(shù)據(jù)庫(kù)中讀取時(shí)第i為學(xué)生的學(xué)號(hào)存儲(chǔ)在xh(i) Dim zf(1 To 1000)As Integer’學(xué)號(hào)為i的考生的總分存儲(chǔ)在zf(i) Dim xk(1 To 1000)As String’學(xué)號(hào)為i的考生的選考課程信息存儲(chǔ)在zf(i) ’數(shù)據(jù)格式**-**-**(如:物理-化學(xué)-生物) Dim jspm(1 To 1000)As Integer’學(xué)號(hào)為i的技術(shù)選考生的總分在所有技術(shù)考生中的 ’排名存儲(chǔ)在數(shù)組jspm(i) Private Sub Form_Load ( ?。?br />Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim constr as string,sql as string Constr=“Provider=Microsoft.ace.OLEDB.12.0;“ Constr=constr &“Data Source=“& App.Path+“\data\stu2018.a(chǎn)ccdb“ conn.ConnectionString=constr conn.open ( ) rs.Open“select*from 2018cj“,conn i=0 Do While Not rs.EOF i=i+1 xh(i)=rs(“xuehao”) zf(rs(“xuehao”))=rs(“fenshu”) xk(rs(“xuehao”))=rs(“xkinfo”)
①
①
Loop N=i End Sub ’判斷選科信息info中是否包含科目km Function YouKM(ByVal km As String,ByVal Info As String) As Boolean Dim km1 As String YouKM=False For i=1 To 3 If
②
②
Then YouKM=True Exit For End If Next i End Function '為技術(shù)學(xué)科考試求名次 Private Sub Command1_Click ( ) Dim jsinfo(1 To 1000)As Integer’依次存儲(chǔ)每個(gè)技術(shù)選考生的學(xué)號(hào)和成績(jī) Dim k as integer’存儲(chǔ)找到的技術(shù)選考學(xué)生的數(shù)量 '將所有選考“技術(shù)”的考生學(xué)號(hào)、成績(jī)依次存入數(shù)組jsinfo中 k=0 For i=1 To n If
③
③
Then k=k+1 jsinfo(2*k-1)=xh(i) jsinfo(2*k)=cj(xh(i)) End If Next i '學(xué)號(hào)為i的學(xué)生在技術(shù)選考生中的排名,存入jspm(i)中 For i=1 To k mc=0 For j=1 To k If jsinfo (2*j)>jsinfo (2*i) Then mc=mc+1 Next j jspm(jsinfo(2*i-1))=
④
④
Next i '輸出所有技術(shù)考試的學(xué)號(hào)、成績(jī)、技術(shù)排名信息 代碼略 End Sub