16.某一條形碼是由13位數字組成的編碼,其末位是校驗碼。條形碼校驗的方法如下: ①除校驗碼之外,求其余12位編碼中的奇數、偶數的數字之和; ②將偶數的數字之和乘以3,加上奇數的數字之和; ③取第②步得到結果的個位數字,用10減去該數字,將得到的結果存入變量m; ④若m的值為10,則將m的值修改為0,否則不變; ⑤若m和校驗碼相等則輸出“校驗碼正確!”,否則輸出“校驗碼錯誤!”。 現編寫一個VB程序,實現如下功能:在文本框Text1中產生條形碼數字序列,單擊“校驗”按鈕Command1,在標簽Label1中輸出對應的校驗信息,界面如圖所示。 實現上述功能的VB程序如下,但加框處代碼有錯,請改正。 Private Sub Command1_Click ( ) Dim s As String,x As Integer Dim n As Integer,jsAs Integer,os As Integer,m As Integer Js=0:Os=0 s=Text1.Text If n<>13Then Label1.Caption=“條形碼位數錯誤!“ Else For i=1To 12 If x Mod 2<>0Then js=js+x Else os=os+x End If Next i m=os*3+js m=10-m Mod 10 Ifm=10 Then m=0 If m=Val(Mid(s,n,1)) Then Label1.Caption=“校驗碼正確!“ Else Label1.Caption=“校驗碼錯誤!“ End If End If End Sub
。 (2)請在橫線處填入合適的代碼。 Dim a(1to 600)as integer'數組a存放物理成績 Dim b(1to 600)as integer'數組b存放化學成績 Dim c(1to 600)as integer'數組c存放生物成績 Dim n as integer Private Sub Command1_Click ( ) Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset Conn ConnectionString=“provider=Microsoft.ACE.OLEDB.12.0;data source=“+“Score.jye.ai“ Conn.Open Set rs.ActiveConnection=conn rs.Open“SELECT*FROM whs“ n=0 Do While Not rs.EOF'從數據表中讀取各科的數據賦值到相應數組 n=n+1 a(n)=rs.Fields(“物理“) b(n)=rs.Fields(“化學“) c(n)=rs.Fields(“生物“) rs.MoveNext Loop '本過程的其他語句略 End sub Private Sub Command2_Click ( ) '依據數組a中的相關數據統計各學生每門課大于等于85分的學號 Dim i As Integer Dim d(1to n) As Integer For i=1to n
Next i List1.AddItem“三門學科>=85分的學號有:“ List2.AddItem“兩門學科>=85分的學號有:“ List3.AddItem“一門學科>=85分的學號有:“ For i=1To n If a(i)>=85Then d(i)=d(i)+1 End If If b(i)>=85Then d(i)=
If
Then d(i)=d(i)+1 End If Next i For i=1To n If d(i)=3Then List1.AddItem Str(i) If d(i)=2Then List2.AddItem Str(i) If d(i)=1Then List3.AddItem Str(i) Next i End Sub