第 1 页:基本操作题 |
第 2 页:简单应用题 |
第 3 页:综合应用题 |
三、综合应用题
5在名称为Form1的窗体上画一个文本框,名称为Text1,MultiLine属性为True,ScroUBars属性为2;两个命令按钮,名称分别为Cmdl和Omd2,标题分别为"读入数据"和"计算保存",如图2-6所示。要求程序运行后,如果单击"读入数据"按钮,则读入in.txt文件中的100个整数,放入一个数组中(数组下界为1),同时在文本框中显示出来;如果单击"计算保存"按钮,则计算数组中大于或等于400并且小于800的所有数之和,并将结果在文本框Text1中显示出来,同时把结果存入考生文件夹的result.txt文件中(在prog.bas中的putdata过程可以把结果存入result.txt文件)。
图2-6
注意:文件必须存放在考生文件夹下,窗体文件名为sj5.frm,工程文件名为sj5.vbp,计算结果存入result.txt文件中,否则没有成绩。
参考解析:
文本框显示的内容通过Text属性设置;按钮的标题通过Caption属性设置,单击命令按钮触发Click事件。本题涉及到文件的操作,读入顺序文件以顺序的方式打开,用“Input#”语句读取数据。另外,需要注意的是,对文件操作结束后,一定要关闭文件。
①建立界面并设置控件属性。程序中用到的控件及其属性见表2-3。
表2-3
控件 属性 设置值
文本框 Name Text1
文本框 ScrollBors 2-vertical
文本框 Multiline True
命令按钮 Name Cmd1
命令按钮 Caption 读入数据
命令按钮 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
‘标准模块代码
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个命令按钮,数据文件in13.dat存放学生的编号、姓名、性别和体重,如图635所示。
程序运行后,按Begin按钮后,能从考生文件夹下的in13.dat中读出数据并把体重大于平均体重的学生的所有数据写入考生文件夹下的out13.dat文件中。执行完毕,Begin按钮变成"完成"按钮,且无效。
要求:该程序不完整,请在有问号"?"的地方填入正确内容,然后删除问号"?"及所有注释符"′",但不能修改其他部分。存盘时不得改变文件名和文件夹,相应的数据文件也保存到考生文件夹下,否则没有成绩。
参考解析:
根据题目
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. 按要求保存文件即完成本题。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |