多分支语句也称为情况语句,语法格式为:
Select Case 测试表达式
Case 表达式表 1
语句块 1
[Case 表达式表 2
语句块 2]
……
[Case Else
语句块 n]
End Select
“ 表达式表 ” 中的表达式必须与“测试表达式”的数据类型相同。“表达式表”通常是一个具体值,每一个值确定一个分支。还有三种方法可以确定设定值:
一组值(用逗号隔开),例如:
Case 1,3,5 表示条件在 1 , 3 , 5 三个数中取值
( 2 )表达式 1 TO 表达式 2 ,例如:
Case 60 To 表示条件取值范围为 60~80
(3) Is 关系式,例如:
Case Is<5 表示条件在小于 5 的范围内取值
[ 例 4.4] 输入学生成绩(百分制),判断该成绩的等级(优良、及格、不及格)。
( 1 )创建应用程序用户界面和设置对象属性。如图 4.3 所示。

图 4.3 例 4.4 的运行界面
( 2 )程序代码如下:
Private Sub Command1_Click()
Dim score As Integer, temp As String
score = Val(Text1.Text)
temp = " 成绩等级为: "
Select Case score
Case 0 To 59
Label2.Caption = temp + " 不及格 "
Case 60 To 79
Label2.Caption = temp + " 及格 "
Case 80 To 100
Label2.Caption = temp + " 优良 "
Case Else
Label2.Caption = " 成绩出错 "
End Select
End Sub
[ 例 4.5] 设计程序,在窗体上显示以考题:
鸡免同笼,已知鸡和免总头数为 23 ,总脚数为 46 ,求鸡免各有多少?
再提供输入对话框由学生回答问题,然后使用消息对话框显示对答案的评判意见。
( 1 ) ( 1 )创建应用程序用户界面和设置对象属性。 如图 4.4 所示。

图 4.4 例 4.5 的运行界面
( 2 )使用窗体的装载事件过程 Form_Load ,将考题内容直接显示在窗体上,代码如下:
Private Sub Form_Load()
Show
Print
FontSize = 18
Print Spc(9); " 考一考你 "
FontSize = 13
Print
Print Spc(5); " 鸡免同笼,已知鸡和免的总头数为 23 , "
Print Spc(3); " 总脚数为 56 ,求鸡免各有多少? "
End Sub
( 3 )命令按钮的事件代码过程如下:
Private Sub Command1_Click()
h = 23: f = 56
j1 = (4 * h - f) / 2
t1 = (f - 2 * h) / 2
j2 = Val(InputBox(" 鸡的只数是多少 ?", " 请回答 "))
t2 = Val(InputBox(" 免的只数是多少 ?", " 请回答 "))
Select Case True
Case j1 = j2 And t1 = t2
MsgBox " 回答完全正确! "
Case j1 = j2
MsgBox " 鸡数回答正确,但免数不对! "
Case t1 = t2
MsgBox " 免数回答正确,但鸡数不对! "
Case Else
MsgBox " 回答错误! "
End Select
End Sub |