用PowerPoint制作比赛评分系统(2) sum = sum + CSng(TxtS4.Text) sum = sum + CSng(TxtS5.Text) sum = sum + CSng(TxtS6.Text) sum = sum + CSng(TxtS7.Text) sum = sum + CSng(TxtS8.Text) '计算出最后得分(平均分),精确到小数点后3位 AverageScore = Format(sum / 8, "#.###") '第二张幻灯片显示最后得分 Slide2.LblTotal.Caption = AverageScore '写入最后得分 If GroupNum>=1 AND GroupNum <= 5 Then Open Path$ && "InpScore.txt" For Append As #1 Print #1, AverageScore Close #1 End If GroupNum = GroupNum + 1 er: End Sub 新建一个模块,写入如下代码,此处为评奖模块。 '评选项一等奖1名,二等奖2名,三等奖3名,故Counter变量设为6 Const Counter = 6 Public StrName(Counter) As String Public SngScore(Counter) As Single '模块功能:读取得分文件,并对得分加以排序 Public Sub ReadDataInp() On Error GoTo er Open Path$ && "InpName.txt" For Input As #1 For i = 1 To Counter Input #1, StrName(i) Next Close #1 Open Path$ && "InpScore.txt" For Input As #2 For i = 1 To Counter Input #2, SngScore(i) Next Close #2 For i = 1 To Counter For j = 1 To Counter If SngScore(i) > SngScore(j) Then a = SngScore(i): SngScore(i) = SngScore(j): SngScore(j) = a b = StrName(i): StrName(i) = StrName(j): StrName(j) = b End If Next Next er: End Sub 新建一张幻灯片,用于显示三等奖获奖名单,按钮名称为CmdDisply,6个文本框的名称为TxtThirdPrize1……TxtThirdPrize6。 代码如下: Private Sub CmdDisply_Click() ReadDataInp 因为分数从高到低排序,因此先输出最后三组 TxtThirdPrize1.Text = StrName(4) TxtThirdPrize2.Text = StrName(5) TxtThirdPrize3.Text = StrName(6)