在考生文件夹下有工程文件sj5.vbp及窗体文件sj5.frm,该程序是不完整的。在名称为Forml的窗体上有3个Label控件和2个命令按钮,数据文件sjin.dat,存放工人的编号、姓名和年龄。按“开始”按钮后,能从考生文件夹下的sjin.dat中读出

admin2010-07-13  31

问题 在考生文件夹下有工程文件sj5.vbp及窗体文件sj5.frm,该程序是不完整的。在名称为Forml的窗体上有3个Label控件和2个命令按钮,数据文件sjin.dat,存放工人的编号、姓名和年龄。按“开始”按钮后,能从考生文件夹下的sjin.dat中读出数据并把年龄小于平均年龄的工人的所有数据写入考生文件夹下的sjout.dat文件中;执行完毕,“开始”按钮变成“完成”,且无效,如图37—5所示。

    注意:请在有“?”的地方填入正确内容,然后删除“?”及所有注释符(即“’”号),但不能修改其他部分。存盘时不得改变文件名和文件夹,相应的dat文件也保存到考生文件夹下,否则没有成绩。

选项

答案 本题主要考查定义结构体变量,其格式如下: Private type结构体名 参数名as参数类型 End type 程序中在同一个过程打开两个文件,因此要用两个文件号,一个用来读入(文件号#1),一个用来输出(文件号#2)。利用EOF来判断是否读取完,先对文件进行一次读取,计算出平均值,然后再根据条件进行边读取边写入的操作,补充后的具体代码如下: Private Type Person’声明结构体 num As String*12 Nam As String*12 Yea As Long End Type Private Sub Commandl_Click() Dim per As Person Dim arg As Long Dim num As Integer arg=0’算平均值 num=0 ’计数 Open"App.Path&\sjin.dat"For Input As#1 While EOF(1)=False ’当没有读取完则继续读取 Input#1,per.num Input#l,per.Nam Input#l,per.Yea arg=arg+per.Yea’累加年龄 num=num+1’累加计数 Wend Close#l arg=arg\num Open"App.Pathg&\sjin.dat"For Input As#1 Open"App.Pathg&\sjout.dat"For Output As#2’打开输出文件 While EOF(1)=False Input#1,per.num Input#1,per.Nam Input#1,per.Yea If per.YeaEnabled=False’完成后Commandl不可用 Commandl.Caption="完成" ’Commandl的标签改为完成 End Sub Private Sub Command2 Click() Unload Me’关闭对话框 End Sub 单击[*]按钮运行程序,并按要求保存。

解析
转载请注明原文地址:https://kaotiyun.com/show/3Gmp777K
0

最新回复(0)