巧妙运用PPT 制作演讲比赛评分系统
准备工作:
在C 盘新建一文件夹,命名为“考试评分”。用于存放参赛人员的相关信息,其中Name.txt 中保存着各参赛人员名字(事先准备好Name.txt ,每位参赛人员占一行)。 制作过程:
1. 界面设置
打开PowerPoint 2003新建一幻灯片,点击“视图→工具栏→控件工具箱”打开“控件工具箱”。在工具箱中使用“图像控件”来插入八位语文教师的照片,分数可以用“文本框”来表示,再插入两个“命令按钮”进行操作,分别为“清空”和“最终得分”按钮。放置好控件之后再调整各控件的属性并美化界面(见图1)。
评委打分的文本框名称为Text1,Text2,„„,Text8,“最终得分”按钮的名称为CommandTotal ,第二张幻灯片用来显示最后得分,名称为TotalScore 。
2. 全局变量设置
打开VBA 编辑器(见图2)输入如下代码:
Const Path$ = "C:\考试评分\"
' 指定得分的统计文件路径
Dim sum As Single
' 全局变量总分
Dim AverageScore As Single
' 全局变量平均得分
Dim GroupNum As Integer
' 全局变量记录组次
Private Sub CommandButton1_Click()
' 清空得分
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
Text7.Text = ""
Text8.Text = ""
Slide2.TotalScore.Caption = ""
' 清空下一张幻灯片的最后总分
End Sub
Private Sub CommandTotal_Click()
'“最终得分”按钮
On Error GoTo er
Dim sum As Single
' 将8个评委的分数相加得出总分sum
sum = sum + CSng(Text1.Text)
sum = sum + CSng(Text2.Text)
sum = sum + CSng(Text3.Text)
sum = sum + CSng(Text4.Text)
sum = sum + CSng(Text5.Text)
sum = sum + CSng(Text6.Text)
sum = sum + CSng(Text7.Text)
sum = sum + CSng(Text8.Text)
AverageScore = Format(sum / 8, "#.###")
' 计算出最后得分(平均分),精确到小数点后3位
Slide2.TotalScore.Caption = AverageScore
' 第二张幻灯片显示最后得分
If GroupNum>=1 AND GroupNum
' 写入最后得分
Open Path$ & "InpScore.txt" For Append As #1
Print #1, AverageScore
Close #1
End If
GroupNum = GroupNum + 1
er:
End Sub
3. 建立评奖模块
在Microsoft Visual Basic中点击“插入→模块”来建立评奖模块,再写入如下代码: Const Counter = 6
' 如评一等奖1名,二等奖2名,三等奖3名,故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
4. 建立显示获奖名单
回到PPT 中新建一张幻灯片,用于显示获奖名单,按钮名称为CmdDisply ,6个文本框的名称为Prize1,„„,Prize6。代码如下:
Private Sub CmdDisply_Click()
ReadDataInp
' 因为分数从高到低排序,因此先输出最后三组
Prize1.Text = StrName(4)
Prize2.Text = StrName(5)
Prize3.Text = StrName(6)
大家在制作时可以加入其他的幻灯片用做修饰,这样就能让赛场气氛非常热烈。
巧妙运用PPT 制作演讲比赛评分系统
准备工作:
在C 盘新建一文件夹,命名为“考试评分”。用于存放参赛人员的相关信息,其中Name.txt 中保存着各参赛人员名字(事先准备好Name.txt ,每位参赛人员占一行)。 制作过程:
1. 界面设置
打开PowerPoint 2003新建一幻灯片,点击“视图→工具栏→控件工具箱”打开“控件工具箱”。在工具箱中使用“图像控件”来插入八位语文教师的照片,分数可以用“文本框”来表示,再插入两个“命令按钮”进行操作,分别为“清空”和“最终得分”按钮。放置好控件之后再调整各控件的属性并美化界面(见图1)。
评委打分的文本框名称为Text1,Text2,„„,Text8,“最终得分”按钮的名称为CommandTotal ,第二张幻灯片用来显示最后得分,名称为TotalScore 。
2. 全局变量设置
打开VBA 编辑器(见图2)输入如下代码:
Const Path$ = "C:\考试评分\"
' 指定得分的统计文件路径
Dim sum As Single
' 全局变量总分
Dim AverageScore As Single
' 全局变量平均得分
Dim GroupNum As Integer
' 全局变量记录组次
Private Sub CommandButton1_Click()
' 清空得分
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
Text7.Text = ""
Text8.Text = ""
Slide2.TotalScore.Caption = ""
' 清空下一张幻灯片的最后总分
End Sub
Private Sub CommandTotal_Click()
'“最终得分”按钮
On Error GoTo er
Dim sum As Single
' 将8个评委的分数相加得出总分sum
sum = sum + CSng(Text1.Text)
sum = sum + CSng(Text2.Text)
sum = sum + CSng(Text3.Text)
sum = sum + CSng(Text4.Text)
sum = sum + CSng(Text5.Text)
sum = sum + CSng(Text6.Text)
sum = sum + CSng(Text7.Text)
sum = sum + CSng(Text8.Text)
AverageScore = Format(sum / 8, "#.###")
' 计算出最后得分(平均分),精确到小数点后3位
Slide2.TotalScore.Caption = AverageScore
' 第二张幻灯片显示最后得分
If GroupNum>=1 AND GroupNum
' 写入最后得分
Open Path$ & "InpScore.txt" For Append As #1
Print #1, AverageScore
Close #1
End If
GroupNum = GroupNum + 1
er:
End Sub
3. 建立评奖模块
在Microsoft Visual Basic中点击“插入→模块”来建立评奖模块,再写入如下代码: Const Counter = 6
' 如评一等奖1名,二等奖2名,三等奖3名,故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
4. 建立显示获奖名单
回到PPT 中新建一张幻灯片,用于显示获奖名单,按钮名称为CmdDisply ,6个文本框的名称为Prize1,„„,Prize6。代码如下:
Private Sub CmdDisply_Click()
ReadDataInp
' 因为分数从高到低排序,因此先输出最后三组
Prize1.Text = StrName(4)
Prize2.Text = StrName(5)
Prize3.Text = StrName(6)
大家在制作时可以加入其他的幻灯片用做修饰,这样就能让赛场气氛非常热烈。