问答题 在窗体上建立三个菜单(名称分别为Read、Calc和Save,标题分别为“读入数据”、“计算并输出”和“存盘”),然后添加一个文本框(名称为Text1,可显示多行,ScrollBars属性设置为2)(如图所示)。程序运行后,如果执行“读入数据”命令,则读入datain1. txt文件中的100个整数,放入一个数组中,数组的下界为1;如果单击“计算并输出”按钮,则把该数组中小于50的元素显示在文本框中,求出它们的和,并把所求得的和显示在窗体上;如果单击“存盘”按钮,则将所求得的和存入考生文件夹下的dataout. txt文件中。
在考生文件夹下有一个工程文件sjt5. vbp。窗体文件中的ReadData过程可以把datain1. txt文件中的100个整数读入Arr数组中;而WriteData过程可以把指定的整数值写到考生文件夹下指定的文件中(整数值通过计算求得,文件名为dataout. txt)。
注意:考生不得修改窗体文件中已经存在的程序。存盘时,工程文件名仍保存为sjt5. vbp,窗体文件名仍保存为sjt5. frm。
【正确答案】[解题思路] 在“读数”命令的Click事件过程中,通过调用ReadData过程将数据从in5. txt文件读入数组Arr(窗体变量)中;在“计算”命令的Click事件过程中,在For循环语句(循环变量i的初值为1,终值为100)中依次将数组Arr中小于50的元素的值显示在文本框中,并将其值累加到变量sum;在“保存”命令的Click事件过程中,通过调用WriteData过程将Sum的值写入数据文件out5. txt。
[操作步骤]
步骤1:打开本题工程文件,利用菜单设计器,按表3.108中的设置建立菜单项,在窗体Form1中绘制一个文本框,其相关属性值见表1和表2。
表1
标题控件 读入数据 计算并输出 存盘
名称 Read Calc Save
内缩符号 0 0 0
表2
控件 文本框
属性 Name MultiLine ScrollBars Text
设置值 Text1 TRUE 2
步骤2:分析并编写程序代码。
程序提供代码
Option Base 1
Dim Arr(100) As Integer
Sub ReadData()
Open App. Path & "/" & "datain1. txt" For Input As #1
For i = 1 To 100
Input #1, Arr(i)
Next i
Close #1
End Sub
Sub WriteData(Filename As String, Num As Integer)
Open App. Path & "/" & Filename For Output As #1
Print #1, Num
Close #1
End Sub
程序结束
参考答案
Private Sub Calc_Click()
Text1. Text = " "
For i = 1 To 100
If Art(i) < 50 Then
Text1. Text = Text1. Text & Arr(i) & Space(5)
sum = sum + Arr(i)
End If
Next i
Print sum
End Sub
Private Sub Read_Click()
ReadData
End Sub
Private Sub Save_Click()
WriteData "dataout. txt", sum
End Sub
步骤3:调试并运行程序,关闭程序后按题目要求存盘。
【答案解析】