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

admin2019-05-14  30

问题 在考生目录下有一个工程文件vbsj5.vbp,其窗体如图1-317所示。考生目录下有一个in5.dat 文件,文件中有5个运动员的姓名、7个裁判的打分和动作的难度系数。每人的数据占一行,顺序是:姓名、7个分数、难度系数。程序运行时,单击“读入”按钮,可把in5.dat文件中的5个姓名读入数组athlete中,把5组得分(每组7个)和难度系数读入二维数组a 中(每行的最后一个元素是难度系数),并把这些数据显示在txtList文本框中;单击“选出冠军”按钮,则把冠军的姓名和成绩分别显示在文本框txtMark、txtScore 中。成绩的计算方法是:去掉一个最高分和一个最低分,求剩下得分的平均分,再乘以3,再乘以难度系数;单击“保存”按钮,则把冠军姓名和成绩存入考生目录下的out5.dat 文件中。

    要求:去掉程序中的注释符,把程序中的“?”改为正确的内容(程序中getmark函数的功能是计算并返回第n个运动员的最后得分),并编写“选出冠军”按钮的Click事件过程。
    注意:不得修改已经存在的程序和控件的属性,在结束程序运行前,必须用“保存”按钮存储计算结果,否则无成绩。最后,程序按原文件名存盘。
    程序源码:
    Option Base 1
    Dim a(5, 8) As Single, athlete(5) As
    String * 8
    Private Sub cmdRead_Click()
    Dim ch As String
    txtList = ""
    Open App.Path & "\in5.dat" For
    _
    Input As #1
    For k = 1 To 5
    Input # 1, ch
    athlete(k) = ch
    txtList = txtList & ch & "
    "
    For j = 1 To 8
    Input #1, ch
    a(k, j) = Val(ch)
    txtList = txtList & ch &
    "  "
    Next j
    txtList = txtList & 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)/
    ’    getmark = s * 3 * ?
    End Function
    Private Sub cmdSelect_Click()
    ’ 要求考生编写的程序
    End Sub
    Private Sub cmdSave_Click()
    Open App.Path & "\out5.dat" For
    _
    Output As #1
    Print # 1, txtMark, txtScore
    Close # 1
    End Sub

选项

答案【操作步骤】 步骤1:打开考生文件中的本题工程文件vbsj5.vbp,在代码编辑窗口,去掉程序中的注释符“’”,将问号“?”改为正确的内容。 参考代码: s = a(n, 1) For k = 2 To 7 getmark = s * 3 * a(n, 8) Private Sub cmdSelect_Click() ’ 要求考生编写的程序 Dim max As Integer Dim i As Integer max = 1 For i = 2 To 5 If getmark(max) < getmark(i) Then max = i End If Next txtMark.Text = athlete(max) txtScore.Text = getmark(max) End Sub 步骤2:按要求将文件保存至考生文件夹中。 步骤3:按<F5>键运行程序,先单击“读入”按钮,然后单击“选出冠军”按钮,最后单击“存盘”按钮。

解析
转载请注明原文地址:https://jikaoti.com/ti/sNN0FFFM
0

相关试题推荐
最新回复(0)