多分支结构-完整精讲版课件_第1页
多分支结构-完整精讲版课件_第2页
多分支结构-完整精讲版课件_第3页
多分支结构-完整精讲版课件_第4页
多分支结构-完整精讲版课件_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 第七课 多分支结构 如果要处理的问题需要从多个可能的方案中选择其中的一种,就要进行多分支选择,虽然用If语句的嵌套可以实现多分支选择,但是实现起来比较麻烦。所以,在Visual Basic 中,多分支选择通常用Select Case语句来实现。多分支选择结构的特点是:从多个选择结构中,选择第一个条件为真的分支完成操作。 1 Select Case语句的格式 Select Case 测试条件 Case 表达式列表1 语句块1 Case 表达式列表2 语句块2 Case 表达式列表n 语句块n Case Else 语句块n+1 End Select Select Case语句的功能是根据测试条件

2、的值,在一组相互独立的可选语句序列中挑选要执行的语句序列。 Select Case语句的执行过程: 首先计算“测试条件”的值,然后从上到下,从左到右依次检查该值与哪一个Case子句中的“表达式列表”相匹配,如果找到了,则执行该Case子句下面的语句块,然后执行End Select 之后的语句;如果所有的“表达式列表”均不符合要求,则执行Case Else下面的语句块,然后执行End Select 之后的语句,若此时语句中不含有Case Else子句,则什么都不执行,直接转去执行End Select 之后的语句。 例1某航空公司规定在旅游的旺季(79)月份,如果订票数超过20张,票价优惠15%,

3、20张以下,优惠5%;在旅游的淡季(15)月份、10月份、11月份,如果订票数超过20张,票价优惠30%,20张以下,优惠20%;其它情况一律优惠10%。请设计程序,根据月份和订票张数决定票价的优惠率。 题目分析:设月份为m,张数为n。设计一个命令按钮Command1的单击事件Click()来运行程序,代码如下:例1 Private Sub Command1_Click() Dim m As Integer, n As Integer, r As Integer m = Val(Text1.Text) n = Val(Text2.Text) Select Case m Case Is = 5,

4、 10, 11 If n 20 Then r = 20 Else r = 30 Case 7 To 9 If n 20 Then r = 5 Else r = 15 Case Else r = 10 End Select Label4.Caption = 所订机票的优惠率为: & Str(r) & % End Sub【例1】 该题的运行结果如图3-5所示。 图3-5 运行结果 【例2】设计一个四则运算的自我练习应用程序,界面如下图所示。 Text1Text4Text3Text2Label4Label2要求: (1) 执行时,当在Text1中输入一种运算符后,在标签Label2中立即出现该运算符

5、号。(2) 单击“出题”按钮可以产生两个0,1000之间的随机整数,这时由Text2、Label2和Text3组成一个表达式。(3) 可以通过单击“计算”按钮计算所生成的表达式的值。(4) 也可以由用户在文本框Text4中输入运算结果通过单击“判断”按钮可以判断输入的运算结果是否正确,然后在Label4上显示“正确”或“错误”。(5) 单击“退出”按钮结束运行。(1) 在Text1中输入加、减、乘、除符号后,在Label2中立即出现相应的运算符号。 Private Sub Text1_Change() Label2.Caption = Text1.Text End Sub(2) 单击“出题”按

6、钮Command1,生成两个0,1000之间的随机整数。 Private Sub Command1_Click() Randomize Text2.Text = Int(Rnd * 1001) Text3.Text = Int(Rnd * 1001) Text4.Text= End Sub(3) 单击“计算”按钮Command2得出Text4的值。Sub Command2_Click() If Label2.Caption = + Then Text4.Text = Val(Text2.Text) + Val(Text3.Text) ElseIf Label2.Caption = - Then

7、 Text4.Text = Val(Text2.Text) - Val(Text3.Text) ElseIf Label2.Caption = * Then Text4.Text = Val(Text2.Text) * Val(Text3.Text) ElseIf Label2.Caption = / Then Text4.Text = Val(Text2.Text) / Val(Text3.Text) Else a = MsgBox(运算类型错,请重输, , 警告) Text1.SetFocus: Text1.SelStart = 0 Text1.SelLength = Len(Text1.

8、Text) End IfEnd Sub(4) Text4的内容也可以由用户输入,通过单击“判断”按钮Command3判断输入结果是否正确。 Private Sub Command3_Click() Select Case Label2.Caption Case + If Text4.Text=Val(Text3.Text)+Val(Text2.Text) Then Label4.Caption = 正确 Else Label4.Caption = 错误 End IfCase -“ If Text4.Text=Val(Text2.Text)-Val(Text3.Text) Then Label4

9、.Caption = 正确 Else Label4.Caption = 错误 End IfCase * If Text4.Text=Val(Text2.Text)*Val(Text3.Text) Then Label4.Caption = 正确 Else Label4.Caption = 错误 End IfCase / If Text4.Text=Val(Text2.Text)/Val(Text3.Text) Then Label4.Caption = 正确 Else Label4.Caption = 错误 End If Case Else a=MsgBox(运算类型错,请重输, , 警告) Text1.SetFocus Text1.SelStart

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论