【正确答案】[解析] 命令按钮的标题由Caption属性来设置,单击命令按钮触发Click事件;执行完毕,“开始”按钮变成“完成”,且无效(变灰):Open grade.dat For Input As #1以只读方式打开文件,读出数据;求平均数则先求每个数的和然后除以数字的个数即可;程序中用到的Input读文件的格式为:Input#文件号,变量列表,在将数据写入文件时,要使用Write#语句而不是使用Print#语句,因为Write#语句能够将各个数据项正确的区分开。解题步骤:
第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表16-5。
表 16-5
控 件 | 属 性 | 设 置 值 |
| label | Name Caption | Label1 考试文件夹//GRADE.DAT |
| label | Name Caption | Label2 考试文件夹//AVERAGE.DAT |
| label | Name Caption | Label3 源文件: |
| label | Name | Label4 目标文件: |
| label | Name Caption | Label5 从源文件中读出数据并求出它们的平均数后,写入目标文件 |
| Commandbutton | Name Caption | COMSTART 开始 |
| Commandbutton | Name Caption | COMSTART 退出 |
第二步:编写程序代码。
程序提供的代码:
Private Sub COMEXIT_Click()
End
End Sub
Private Sub COMSTART_Click()
Dim g As Single, N As Integer, S As Single
myfile1=App.Path & "/" & "grade.txt"
myfile2=App.Path & "/" & "average.txt"
'Open ? For ? As #1
'Open ? For ? As ?
Do While Not EOF(1)
' Input ?, g
N=N+1
S=S+g
Loop
Close #1
'S=S / ?
'Write #2, ?
Close
'COMSTART.Caption=
'COMSTART.Enabled=
End Sub
参考代码:
Private Sub COMEXIT_Click()
End
End Sub
Private Sub COMSTART_Click()
Dim g As Single, N As Integer, S As Single
myfile1=App.Path & "/" & "grade.txt"
myfile2=App.Path & "/" & "average.txt"
Open myfile1 For Input As #1
Open myfile2 For Output As #2
Do While Not EOF(1)
Input #1, g
N=N+i
S=S+g
Loop
Close #1
S=S/N
Write #2, S
Close
COMSTART.Caption="完成"
COMSTART.Enabled=False
End Sub
第三步:调试并运行程序。
第四步:按题目要求存盘