考生文件夹下的工程文件sjt5.vbp中的窗体如图1-215所示。考生文件夹下的随机文件in5.dat中有20条记录,每条记录含姓名和三个分数(均为100以内的正整数)。在程序中已经定义了类型Recordtype,此类型变量可以存放一条记录。要求如下: ①

admin2010-09-02  34

问题 考生文件夹下的工程文件sjt5.vbp中的窗体如图1-215所示。考生文件夹下的随机文件in5.dat中有20条记录,每条记录含姓名和三个分数(均为100以内的正整数)。在程序中已经定义了类型Recordtype,此类型变量可以存放一条记录。要求如下:
①请为“计算最大最小值”按钮编写Click事件过程,其功能是:读取文件中的记录,计算每人的总分,找出其中最大总分和最小总分,分别放入变量maxval,minval中(这两个变量已经给出,不得修改)。
②运行程序,单击“计算最大最小值”按钮后再单击“存盘”按钮。
注意:考生不得修改窗体文件中已经存在的控件和程序,在结束程序运行之前,必须依次单击“计算最大最小值”、“存盘”按钮,否则无成绩。最后,程序按原文件名存盘。

选项

答案 【操作步骤】 步骤l:打开考生文件中的本题工程文件sjt5.vbp,在代码编辑窗口的适当位置编写代码。 参考代码: Private Sub Commandl_Click() Dim S As Recordtype Open"in5.dat"For Random As#1 Len= Len(S) maxval=0 minval=300 For k=1 To 20 Get#1,,S sumval=s.a1+s.a2+s.a3 If sumval>maxval Then maxval= sumval If sumval
解析     ①Type语句用于在模块级别中定义一个用户自己的数据类型,其本质上是一个数据类型集合,它含有一个或一个以上的成员,每个成员可以被定义为不同的数据类型。声明白定义类型变量后,可通过“变量名.成员名”来访问自定义变量中的元素。②用Open语句打开随机文件,其语法格式为:Open FileName for Random as#FileNumberLen=记录长度。记录长度是一条记录实际所占字节数,可用Len(记录变量名)函数获取:Get#语句用于从文件中读出某记录号的记录,格式为:Get撑FileNumber,[RecordNuber],Var;Put#语句用于把记录按指定记录号写入文件,格式为:Put#FileNumber,[RccordNuber],Var。
    本题原程序设计思路:在“计算最大最小值”命令按钮的单击事件过程中,先用Open语句打开考生文件夹下的随机文件in5.txt;然后预定义最大值为O,最小值为3000门课程总成绩不可能超过300),在For循环中,依次使用Get语句取出记录内容到自定义数据类型变量s,然后将s的各元素累加起来,并将总分(s中各元素的累加和)和预定义的最大值以及最小值进行比较,如果总分大于最大值则将其存入最大值,如果总分小于最小值则将其存入最小值,然后进行下一次循环判断下一条记录。
转载请注明原文地址:https://kaotiyun.com/show/HUmp777K
0

最新回复(0)