在考生文件夹下有一个工程文件sjt5.vbp,其窗体如图所示。考生文件夹下有一个in5.dat文件,文件中有5个运动员的姓名、7个裁判的打分和动作的难度系数。每人的数据占一行,顺序是:姓名、7个分数、难度系数。程序运行时,单击“输入”按钮,可把in5.da

admin2020-02-27  31

问题 在考生文件夹下有一个工程文件sjt5.vbp,其窗体如图所示。考生文件夹下有一个in5.dat文件,文件中有5个运动员的姓名、7个裁判的打分和动作的难度系数。每人的数据占一行,顺序是:姓名、7个分数、难度系数。程序运行时,单击“输入”按钮,可把in5.dat文件中的5个姓名读人数组achlete中,把5组得分(每组7个)和难度系数读人二维数组a中(每行的最后一个元素是难度系数),并把这些数据显示在Textl文本框中;单击“选出冠军”按钮,则把冠军的姓名和成绩分别显示在文本框Text2、Text3中。成绩的计算方法是:去掉一个最高分和一个最低分,求剩下得分的平均分,再乘以难度系数,再乘以3;单击“存盘”按钮,则把冠军姓名和成绩存人考生目录下的out5.dat文件中。
    要求:去掉程序中的注释符,把其中的?改为正确的内容(程序中getmark函数的功能是计算并返回第n个运动员的最后得分),并编写“选出冠军”按钮的Click事件过程。
    注意:不得修改已经存在的程序和控件的属性,在结束程序运行前,必须用“存盘”按钮存储计算结果,否则无成绩。最后,程序按原文件名存盘。

选项

答案【操作步骤】 步骤1:打开本题工程文件。 步骤2:分析并编写程序代码。 程序提供代码 Option Base 1 Dim a(5, 8) As Single, athlete(5) As String * 8 Private Sub Command1_Click() Dim ch As String Text1 = "" Open App.Path & "\in5.dat" For Input As #1    For k = 1 To 5    Input #1, ch    athlete(k) = ch    Text1 = Text1 & ch & " "    For j = 1 To 8     Input #1, ch     a(k, j) = Val(ch)     Text1 = Text1 & ch & " "    Next j    Text1 = Text1 & Chr(13) & Chr(10) Next k Close #1 End Sub Private Function getmark(n As Integer) As Single ’ s = ? maxnum = s minnum = s ’For k =2 To ?    s = s + a(n, k)    If maxnum < a(n, k) Then     maxnum = a(n, k)    End If    If minnum > a(n, k) Then     minnum = a(n, k)     End If Next k s = (s - maxnum - minnum) / 5 ’ getmark= s * 3 * ? End Function Private Sub Command2_Click() ’ 要求考生编写的程序 End Sub Private Sub Command3_Click() Open App.Path & "\out5.dat" For Output As #1 Print #1, Text2, Text3 Close #1 End Sub 程序结束 参考答案 第1个?处填入:a(n, 1) 第2个?处填入:7 第3个?处填入:a(n, 8) Private Sub Command2_Click() Dim n As Integer For n = 1 To 5 If m < getmark(n) Then m = getmark(n) Next Text3.Text = m For n = 1 To 5 If m = getmark(n) Then Text2.Text = athlete(n) Next n End Sub 步骤3:调试并运行程序,关闭程序后按题目要求存盘。

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

最新回复(0)