第 1 頁:基本操作題 |
第 2 頁:簡單應(yīng)用題 |
第 3 頁:綜合應(yīng)用題 |
三、綜合應(yīng)用題
5在名稱為Form1的窗體上畫一個文本框,名稱為Text1,MultiLine屬性為True,ScroUBars屬性為2;兩個命令按鈕,名稱分別為Cmdl和Omd2,標(biāo)題分別為"讀入數(shù)據(jù)"和"計算保存",如圖2-6所示。要求程序運(yùn)行后,如果單擊"讀入數(shù)據(jù)"按鈕,則讀入in.txt文件中的100個整數(shù),放入一個數(shù)組中(數(shù)組下界為1),同時在文本框中顯示出來;如果單擊"計算保存"按鈕,則計算數(shù)組中大于或等于400并且小于800的所有數(shù)之和,并將結(jié)果在文本框Text1中顯示出來,同時把結(jié)果存入考生文件夾的result.txt文件中(在prog.bas中的putdata過程可以把結(jié)果存入result.txt文件)。
圖2-6
注意:文件必須存放在考生文件夾下,窗體文件名為sj5.frm,工程文件名為sj5.vbp,計算結(jié)果存入result.txt文件中,否則沒有成績。
參考解析:
文本框顯示的內(nèi)容通過Text屬性設(shè)置;按鈕的標(biāo)題通過Caption屬性設(shè)置,單擊命令按鈕觸發(fā)Click事件。本題涉及到文件的操作,讀入順序文件以順序的方式打開,用“Input#”語句讀取數(shù)據(jù)。另外,需要注意的是,對文件操作結(jié)束后,一定要關(guān)閉文件。
、俳⒔缑娌⒃O(shè)置控件屬性。程序中用到的控件及其屬性見表2-3。
表2-3
控件 屬性 設(shè)置值
文本框 Name Text1
文本框 ScrollBors 2-vertical
文本框 Multiline True
命令按鈕 Name Cmd1
命令按鈕 Caption 讀入數(shù)據(jù)
命令按鈕 Name Cmd2
命令按鈕 Caption 計算保存
、诖蜷_工程資源管理器,在其空白處右鍵添加模塊prog.bas(此文件已在考生文件夾里),模塊代碼如下:
Option Explicit
Sub putdata(ByVal a As Long)
Dim sFile As String
sFile = "\result.txt"
Open App.Path & sFile For Output As #1
Print #1, a;
Close #1
End Sub
③打開工程資源管理器,右擊窗體,選擇查看代碼項,在彈出的代碼窗口輸入代碼如下:
Dim i(1 To 100) As Integer
Private Sub Cmd1_Click()
Dim j As Integer
j = 0
Open App.Path & "\in.txt" For Input As #1
For j = 1 To 100
Input #1, i(j)
Next
Close #1
For j = 1 To 100
Text1.Text = Text1.Text & i(j) & Space(5)
Next
End Sub
Private Sub Cmd2_Click()
Dim sum As Long
Dim j As Integer
sum = 0
Text1.Text = ""
For j = 1 To 100
If i(j) >= 400 And i(j) < 800 Then
sum = sum + i(j)
End If
Next
Text1.Text = Text1.Text & sum & Space(5)
putdata sum
End Sub
‘標(biāo)準(zhǔn)模塊代碼
Option Explicit
Sub putdata(ByVal a As Long)
Dim sFile As String
sFile = "\result.txt"
Open App.Path & sFile For Output As #1
Print #1, a;
Close #1
End Sub
6在考生文件夾下有工程文件sj5.vbp及窗體文件sj5.frm。在名為Form1的窗體上有5個Label控件和2個命令按鈕,數(shù)據(jù)文件in13.dat存放學(xué)生的編號、姓名、性別和體重,如圖635所示。
程序運(yùn)行后,按Begin按鈕后,能從考生文件夾下的in13.dat中讀出數(shù)據(jù)并把體重大于平均體重的學(xué)生的所有數(shù)據(jù)寫入考生文件夾下的out13.dat文件中。執(zhí)行完畢,Begin按鈕變成"完成"按鈕,且無效。
要求:該程序不完整,請在有問號"?"的地方填入正確內(nèi)容,然后刪除問號"?"及所有注釋符"′",但不能修改其他部分。存盤時不得改變文件名和文件夾,相應(yīng)的數(shù)據(jù)文件也保存到考生文件夾下,否則沒有成績。
參考解析:
根據(jù)題目
1. 打開題目所給工程文件;
2. 打開代碼窗口輸入如下代碼:
Private Sub Cmd1_Click()
Dim i As Integer
Dim total As Integer
Dim aver As Single
Dim num(10), namstring(10), sexstring(10), wages(10)
MyFile = App.Path & "\" & "in13.dat"
MyFile2 = App.Path &"\"&"out13.dat"
Open MyFile1 For Input As #1
Open MyFile2 For Output As #2
For i = 1 To 10
Input #1, num(i), namstring(i), sexstring (i), wages (i)
total = total + wages(i)
Next i
aver = total / 10
For i = 1 To 10
If wages(i) > aver Then Write #2, num(i), namstring(i), sexstring(i),
wages(i)
Next i
Cmd1.Caption = "完成"
Cmd1.Enabled = False
End Sub
3. 按要求保存文件即完成本題。
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |