第4章 选择结构程序设计 .ppt

上传人(卖家):hyngb9260 文档编号:6160308 上传时间:2023-06-04 格式:PPT 页数:63 大小:397KB
下载 相关 举报
第4章 选择结构程序设计 .ppt_第1页
第1页 / 共63页
第4章 选择结构程序设计 .ppt_第2页
第2页 / 共63页
第4章 选择结构程序设计 .ppt_第3页
第3页 / 共63页
第4章 选择结构程序设计 .ppt_第4页
第4页 / 共63页
第4章 选择结构程序设计 .ppt_第5页
第5页 / 共63页
点击查看更多>>
资源描述

1、第第4 4章章 选择结构程序设计选择结构程序设计第第4 4章章 选择结构程序设计选择结构程序设计 选择结构是计算机科学用来描述自然界和社会生活中分选择结构是计算机科学用来描述自然界和社会生活中分支现象的重要手段。其特点是根据所给定的条件为真(即支现象的重要手段。其特点是根据所给定的条件为真(即条件成立)与否,而决定从各实际可能的不同分支中执行条件成立)与否,而决定从各实际可能的不同分支中执行某一分支的相应操作,并且任何情况下总有:某一分支的相应操作,并且任何情况下总有:“无论分支无论分支多寡,必择其一;纵然分支众多,仅选其一多寡,必择其一;纵然分支众多,仅选其一”。v4.1 选择结构程序设计的

2、概念选择结构程序设计的概念 在在VB中,实现选择结构的语句有:中,实现选择结构的语句有:If.Then.Else、If.Then.ElseIf、Select Case语句。这些语句又称为条语句。这些语句又称为条件语句,条件语句的功能都是根据表达式的值有选择地执件语句,条件语句的功能都是根据表达式的值有选择地执行一组语句。行一组语句。v4.2 条件表达式条件表达式 在条件语句中作为判断依据的表达式称为在条件语句中作为判断依据的表达式称为“条件表达条件表达式式”,条件表达式的取值为布尔值:真(,条件表达式的取值为布尔值:真(True)或假)或假(False)。在)。在VB中,中,True的值等于的

3、值等于1,False的值等于的值等于0。根据根据“条件条件”的简单或者复杂程度,条件表达式可以分为的简单或者复杂程度,条件表达式可以分为两类:关系表达式以及布尔表达式。两类:关系表达式以及布尔表达式。4.2.1 4.2.1 关系运算符与关系表达式关系运算符与关系表达式 关系表达式是指用关系运算符将两个表达式连接起来的关系表达式是指用关系运算符将两个表达式连接起来的式子(例如式子(例如a+b 0),关系运算符又称比较运算符,用),关系运算符又称比较运算符,用来对两个表达式的值进行比较,比较的结果是一个布尔值来对两个表达式的值进行比较,比较的结果是一个布尔值(True或或False),这个结果就是

4、关系表达式的值。),这个结果就是关系表达式的值。1.关系运算符关系运算符 VB提供的关系运算符有以下提供的关系运算符有以下6种,见表种,见表4-1。表表4-1 关系运算符关系运算符运算符名 称例 子说 明小于3 4值为:True,强制转换为数值型=小于或等于3 大于0 (1 0)值为:True,强制转换为数值型=大于或等于aa=ab值为:False=等于1=True值为:False,强制转换为数值型不等于4 5值为:True2.关系表达式关系表达式 关系表达式的格式为关系表达式的格式为表达式表达式1关系运算符表达式关系运算符表达式2关系运算符表达关系运算符表达式式3 关系表达式的运算次序为:先

5、分别求出关系运算符两侧关系表达式的运算次序为:先分别求出关系运算符两侧表达式的值,然后再把二者进行比较,二者的关系若与关表达式的值,然后再把二者进行比较,二者的关系若与关系运算符指示的一样,则关系运算的结果为真系运算符指示的一样,则关系运算的结果为真True,否则,否则为假为假False。4.2.2 4.2.2 布尔运算符与布尔表达式布尔运算符与布尔表达式 对于较为复杂的条件,必须使用布尔表达式。布尔表达对于较为复杂的条件,必须使用布尔表达式。布尔表达式是指用布尔运算符连接若干关系表达式或布尔值而成的式是指用布尔运算符连接若干关系表达式或布尔值而成的式子。布尔表达式的值也是一个布尔值。式子。布

6、尔表达式的值也是一个布尔值。VB提供的布尔运提供的布尔运算符有:算符有:And、Or、Not、Xor、Eqv、Imp等等6种,其中种,其中常用的为前常用的为前3种,见表种,见表4-2。表表4-2 布尔运算符布尔运算符 说明:说明:1)布尔运算符两侧若有数值数据出现,则将数值数据转布尔运算符两侧若有数值数据出现,则将数值数据转换为二进制数(补码形式)进行按位运算。此时,换为二进制数(补码形式)进行按位运算。此时,1为真,为真,0为假。为假。2)布尔运算真值表见表布尔运算真值表见表4-3。运算符名 称例 子说 明And与(4 5)And(3 5)Or(3 0)值为:False,由真变假或由假变真,

7、进行取“反”操作表表4-3 布尔运算真值表布尔运算真值表aba And ba Or bNot aTrueTrueTrueTrueFalseTrueFalseFalseTrueFalseFalseTrueFalseTrueTrueFalseFalseFalseFalseTrue Not由真变假,由假变真。由真变假,由假变真。And对两个布尔值进行比较,对两个布尔值进行比较,如果两个值均为真,则结果为真,否则为假。如果两个值均为真,则结果为真,否则为假。Or对两个布对两个布尔值进行比较,如果其中一个值为真,则结果为真,只有尔值进行比较,如果其中一个值为真,则结果为真,只有两个值都为假时,结果才为假

8、。运算布尔表达式时,先运两个值都为假时,结果才为假。运算布尔表达式时,先运算关系表达式,再运算布尔表达式。算关系表达式,再运算布尔表达式。4.2.3 4.2.3 运算符的优先顺序运算符的优先顺序 在一个表达式中进行多种操作时,在一个表达式中进行多种操作时,VB会按一定的顺序进会按一定的顺序进行求值,称这个顺序为运算符的优先顺序。运算符的优先行求值,称这个顺序为运算符的优先顺序。运算符的优先顺序见表顺序见表4-4。表表4-4 运算符的优先顺序运算符的优先顺序优先顺序运算符类型运算符1算术运算符(指数运算)2(负数)3*、/(乘法和除法)4(整数除法)5Mod(求模运算)6+、(加法和减法)7字符

9、串运算符&(字符串连接)8关系运算符=、=9布尔运算符Not10And11Or【例【例4-1】设变量】设变量x=4,y=1,a=7.5,b=6.2,求表,求表达式达式x+y a+b And Not y 1.3 And Not y b 2)再作关系运算:再作关系运算:True And Not False 3)作非运算:作非运算:True And True 4)最后得:最后得:True【例【例4-2】判断某个年份是闰年的根据是年份数满足下述条】判断某个年份是闰年的根据是年份数满足下述条件之一。件之一。条件条件1:能被:能被4整除,但不能被整除,但不能被100整除的年份都是闰年。整除的年份都是闰年。

10、条件条件2:能被:能被100整除,又能被整除,又能被400整除的年份都是闰年。整除的年份都是闰年。设变量设变量y表示年份,写出判断表示年份,写出判断y是否闰年的布尔表达式。是否闰年的布尔表达式。解:判断解:判断y是否满足条件是否满足条件1的布尔表达式是的布尔表达式是y Mod 4=0 And y Mod 100 0 判断判断y是否满足条件是否满足条件2的布尔表达式是的布尔表达式是y Mod 100=0 And y Mod 400=0 两者取两者取“或或”,即得判断闰年的布尔表达式:,即得判断闰年的布尔表达式:y Mod 4=0 And y Mod 100 0 Or y Mod 100=0 An

11、d y Mod 400=0v4.3 单条件选择语句单条件选择语句IF 单条件选择结构是最常用的双分支选择结构,其特点是:单条件选择结构是最常用的双分支选择结构,其特点是:所给定条件(条件表达式)的值如果为真,则执行所给定条件(条件表达式)的值如果为真,则执行a1块;块;如果为假则执行如果为假则执行a2块。其一般形式如图块。其一般形式如图4-1所示。所示。图图4-1 单条件选择结构的流程图单条件选择结构的流程图 实现单条件选择结构的语句是实现单条件选择结构的语句是If语句,在语句,在VB中有行中有行If语语句和块句和块If语句两种。语句两种。如果 条件该(选择)条件成立吗?真a1块条件成立时所执

12、行的操作块,它一般为非空块假a2块条件不成立时所执行的操作块,它可为空块4.3.1 4.3.1 单行结构条件语句单行结构条件语句IFIFTHENTHENELSEELSE 单行单行If语句的语法格式为语句的语法格式为If 条件条件 Then 语句序列语句序列1 Else 语句序列语句序列2 说明:说明:1)条件可以是关系表达式、布尔表达式或条件可以是关系表达式、布尔表达式或数值表达数值表达式式。如果以数值表达式作条件,则非。如果以数值表达式作条件,则非0值为真,值为真,0为假。为假。2)如果没有如果没有Else子句,语句序列子句,语句序列1为必要参数,在为必要参数,在条件为条件为True时执行。

13、时执行。【例【例4-3】输入】输入x,计算,计算y的值。其中:的值。其中:)0(21)0(1xxxxy 流程图流程图4-2所示。所示。图图4-2 计算计算y值的流程图值的流程图 根据流程图,写出命令按钮根据流程图,写出命令按钮Command1的单击(的单击(Click)事件代码为:事件代码为:输入x给出x的值如果x=0真y 1+xx=0时的y值假y 1 2*xx=0 Then y=1+x Else y=12*x Text2.Text=yEnd Sub【例【例4-4】学校对学习成绩优良的学生进行奖励,获奖的条】学校对学习成绩优良的学生进行奖励,获奖的条件如下:件如下:1)所考所考5门课的总分超过

14、门课的总分超过450分;分;2)每门课的成绩都在每门课的成绩都在88分以上;分以上;3)前前3门(主课)的成绩都在门(主课)的成绩都在95分以上,其他两门(非分以上,其他两门(非主课)的成绩都在主课)的成绩都在80分以上。分以上。输入某学生输入某学生5门课的成绩门课的成绩s1、s2、s3、s4、s5,判断他,判断他是否能够获奖。是否能够获奖。分析:依题意列出分析:依题意列出3个条件表达式:个条件表达式:1)s1+s2+s3+s4+s5=450 2)s1=88 AND s2=88 AND s3=88 AND s4=88 AND s5=88 3)s1=95 AND s2=95 AND s3=95

15、AND s4=80 AND s5=80 图图4-4 判断能否获奖判断能否获奖 命令按钮命令按钮Command1的单击(的单击(Click)事件代码为:)事件代码为:Private Sub Command1_Click()Dim s1 As Single,s2 As Single,s3 As Single,s4 As Single,s5 As Single Dim p As String s1=Val(InputBox(请输入第1门课的成绩:,输入框,0)s2=Val(InputBox(请输入第2门课的成绩:,输入框,0)s3=Val(InputBox(请输入第3门课的成绩:,输入框,0)s4=

16、Val(InputBox(请输入第4门课的成绩:,输入框,0)s5=Val(InputBox(请输入第5门课的成绩:,输入框,0)t1=(s1+s2+s3+s4+s5=450)t2=(s1=88 And s2=88 And s3=88 And s4=88 And s5=88)t3=(s1=95 And s2=95 And s3=95 And s4=80 And s5=80)If t1 Or t2 Or t3 Then p=可以获奖!Else p=不能获奖!p=Str(s1)&,&Str(s2)&,&Str(s3)&,&Str(s4)&,&Str(s5)&Chr(13)&p Label1.Cap

17、tion=该生五门课的成绩分别是:&Chr(13)&pEnd Sub 【例【例4-5】利用输入框函数输入】利用输入框函数输入3个不同的数,选出其中最个不同的数,选出其中最大的数。大的数。命令按钮命令按钮Command1的单击(的单击(Click)事件代码为:)事件代码为:Private Sub Command1_Click()Dim a As Single,b As Single,c As Single a=Val(InputBox(请输入第1个数:,输入框,0)b=Val(InputBox(请输入第2个数:,输入框,0)c=Val(InputBox(请输入第3个数:,输入框,0)p=&a&,

18、&b&,&c p=p&三个数中最大的数是:If a b And a c Then p=p&a If b a And b c Then p=p&b If c a And c b Then p=p&c Label1.Caption=pEnd Sub图图4-5 求求3个数中最大数个数中最大数4.3.2 4.3.2 使用使用IIFIIF函数函数 还可以使用还可以使用IIf函数来实现一些比较简单的选择结构。函数来实现一些比较简单的选择结构。IIf函数的语法结构为:函数的语法结构为:IIf(条件表达式,真部分,假部分)语句语句y=IIf(条件表达式,真部分,假部分条件表达式,真部分,假部分)相当于:相当于

19、:If 条件表达式 then y=真部分 Else y=假部分【例【例4-6】例】例4-3中命令按钮中命令按钮Command1的单击(的单击(Click)事件代码可以改为:事件代码可以改为:Private Sub Command1_Click()Dim x As Single,y As Single x=Val(Text1.Text)y=IIf(x=0,1+x,12*x)Text2.Text=yEnd Sub4.3.3 4.3.3 块结构条件语句块结构条件语句IFIFTHENTHENELSEELSEEND IFEND IF VB提供的块提供的块If语句,将一个选择结构用多个语句行来实现。语句,

20、将一个选择结构用多个语句行来实现。其语法结构为:其语法结构为:If 条件条件1 Then 语句序列语句序列1Else 语句序列语句序列2End If 在块形式中,在块形式中,If语句必须是第语句必须是第1行语句。行语句。If块必须以一个块必须以一个End If语句结束。语句结束。【例【例4-7】将例】将例4-3中命令按钮中命令按钮Command1的单击(的单击(Click)事件代码改为多行事件代码改为多行If语句:语句:Private Sub Command1_Click()Dim x As Single,y As Single x=Val(Text1.Text)If x=0 Then y=1

21、+x Else y=12*x End If Text2.Text=yEnd Sub4.3.4 IF4.3.4 IF语句的嵌套语句的嵌套1.IF语句的嵌套语句的嵌套 如果在如果在If语句中操作块语句中操作块a1块(语句序列块(语句序列1)或)或a2块(语句块(语句序列序列2)本身又是一个)本身又是一个If语句,则称为语句,则称为If语句的嵌套。语句的嵌套。【例【例4-8】铁路托运行李,从甲地到乙地,规定每张客票托】铁路托运行李,从甲地到乙地,规定每张客票托运费计算方法是行李重量不超过运费计算方法是行李重量不超过50kg时,时,0.25元元/kg,超,超过过50kg而不超过而不超过100kg时,其

22、超过部分按时,其超过部分按0.35元元/kg收费,收费,超过超过100kg时,其超过部分按时,其超过部分按0.45元元/kg收费。编写程序,收费。编写程序,输入行李重量,计算并输出托运的费用。输入行李重量,计算并输出托运的费用。【例【例4-8】铁路托运行李,从甲地到乙地,规定每张客票托】铁路托运行李,从甲地到乙地,规定每张客票托运费计算方法是行李重量不超过运费计算方法是行李重量不超过50kg时,时,0.25元元/kg,超,超过过50kg而不超过而不超过100kg时,其超过部分按时,其超过部分按0.35元元/kg收费,收费,超过超过100kg时,其超过部分按时,其超过部分按0.45元元/kg收费

23、。编写程序,收费。编写程序,输入行李重量,计算并输出托运的费用。输入行李重量,计算并输出托运的费用。分析:设行李重量为分析:设行李重量为wkg,应付运费为,应付运费为x元,则运费公元,则运费公式为:式为:)100()10050()50()100(45.05035.05025.0)50(35.05025.025.0wwwwwwx命令按钮命令按钮Command1的单击(的单击(Click)事件代码为:)事件代码为:Private Sub Command1_Click()Dim w As Single,x As Single w=Val(Text1.Text)If w=50 Then x=0.25*

24、w Else If w=100 Then x=0.25*50+0.35*(w50)Else x=0.25*50+0.35*50+0.45*(w100)图图4-7 计算托运费计算托运费 End If End If Text2.Text=xEnd Sub图图4-8 计算优惠价计算优惠价【例【例4-9】某百货公司为了促销,采用购物打折扣的优惠办】某百货公司为了促销,采用购物打折扣的优惠办法:每位顾客一次购物法:每位顾客一次购物 1)在在1000元以上者,按九五折优惠;元以上者,按九五折优惠;2)在在2000元以上者,按九折优惠;元以上者,按九折优惠;3)在在3000元以上者,按八五折优惠;元以上者,

25、按八五折优惠;4)在在5000元以上者,按八折优惠。元以上者,按八折优惠。输入购物款数,计算并输出优惠价,如图输入购物款数,计算并输出优惠价,如图4-8所示。所示。分析:设购物款数为分析:设购物款数为x元,优惠价为元,优惠价为y元,付款公式为:元,付款公式为:)5000()50003000()30002000()20001000()1000(8.085.09.095.0 xxxxxxxxxxy 命令按钮命令按钮Command1的单的单击(击(Click)事件代码为:)事件代码为:Private Sub Command1_Click()Dim x As Single,y As Single x=

26、Val(Text1.Text)If x 1000 Then y=x Else If x 2000 Then y=0.95*x Else If x 3000 Then y=0.9*x ElseIf x 5000 Then y=0.85*x Else y=0.08*x End If End If End If End If Text2.Text=yEnd Sub图4-8 计算优惠价2.IF语句的嵌套格式语句的嵌套格式ELSEIF 例例4.8中出现的多层中出现的多层If语句嵌套,使程序冗长,不便阅读。语句嵌套,使程序冗长,不便阅读。为此为此VB提供了带提供了带ElseIf的块的块If语句来处理当条件

27、为假时又语句来处理当条件为假时又内嵌块内嵌块If语句的情形,以使程序简化易写。其语法结构为:语句的情形,以使程序简化易写。其语法结构为:If 条件1 Then 语句序列1ElseIf 条件2 Then 语句序列2 .Else 其他语句序列End If【例【例4-10】在例】在例4-9中使用中使用带带ElseIf的块的块If语句来计算出语句来计算出优惠价,只需将其中命令按优惠价,只需将其中命令按钮钮 C o m m a n d 1 的 单 击的 单 击(Click)事件代码改为:)事件代码改为:Private Sub Command1_Click()Dim x As Single,y As Si

28、ngle x=Val(Text1.Text)If x 1000 Then y=x ElseIf x 2000 Then y=0.95*x ElseIf x 3000 Then y=0.9*x ElseIf x 5000 Then y=0.85*x Else y=0.08*x End If Text2.Text=yEnd Subv4.4 多分支条件选择语句多分支条件选择语句SELECT CASE 多分支选择结构的特点是:从多个选择结构中,选择第多分支选择结构的特点是:从多个选择结构中,选择第1个个条件为真的路线作为执行的路线。即所给定的选择条件条件为真的路线作为执行的路线。即所给定的选择条件1为

29、为真时,执行真时,执行a1块;如果为假则继续检查下一个条件。如果条块;如果为假则继续检查下一个条件。如果条件都不为真,就执行其他操作块,如果没有其他操作块,则件都不为真,就执行其他操作块,如果没有其他操作块,则不作任何操作就结束选择。如图不作任何操作就结束选择。如图4-9所示。所示。图图4-9 多条件多分支选择结构的流程图多条件多分支选择结构的流程图情形条件1a1块条件1成立时所执行的操作块条件2a2块条件2成立时所执行的操作块条件nan块条件n成立时所执行的操作块其他an+1块条件都不成立时所执行的操作块4.4.1 SELECT CASE4.4.1 SELECT CASE结构与语法结构与语法

30、 虽然使用嵌套的办法可以利用虽然使用嵌套的办法可以利用If语句实现多分支选择,语句实现多分支选择,但是最好还是使用但是最好还是使用VB提供的多分支选择结构(提供的多分支选择结构(Select Case语句)来实现多分支选择。根据单一表达式来执行多语句)来实现多分支选择。根据单一表达式来执行多种可能的动作时,种可能的动作时,Select Case更为简捷,它根据表达式更为简捷,它根据表达式的值,来决定执行几组语句中的一组。的值,来决定执行几组语句中的一组。4.4.1 SELECT CASE4.4.1 SELECT CASE结构与语法结构与语法 Select Case语句的语法格式为语句的语法格式

31、为Select Case 测试条件 Case 表达式表1 语句序列1 Case 表达式表2 语句序列2 .Case Else 其他语句序列End Select Case子句中的表达式表是一个或多个如表子句中的表达式表是一个或多个如表4-5所示所示形式表达式的列表。形式表达式的列表。表表4-5 表达式的形式表达式的形式 当使用多个表达式的列表时,表达式与表达式之间要用当使用多个表达式的列表时,表达式与表达式之间要用逗号逗号“,”隔开。隔开。形式示例说 明表达式Case 100*a数值或字符串表达式表达式 To 表达式Case 1000 To 2000Case a To n用来指定一个值范围,较小

32、的值要出现在To之前Is 关系运算表达式Caes Is 3000可配合比较运算符来指定一个数值范围。如果没有提供,则Is关键字会被自动插入4.4.2 SELECT CASE4.4.2 SELECT CASE结构的应用结构的应用【例【例4-11】在例】在例4-9中使用中使用Select Case语句来计算优惠价,语句来计算优惠价,只需将其中命令按钮只需将其中命令按钮Command1的单击(的单击(Click)事件代)事件代码改为:码改为:Private Sub Command1_Click()Dim x As Single,y As Single x=Val(Text1.Text)Select

33、Case x Case Is 1000 y=x Case Is 2000 y=0.95*x Case Is 3000 y=0.9*xCase Is 5000 y=0.85*x Case Else y=0.08*x End Select Text2.Text=yEnd Sub【例【例4-12】某航空公司规定在旅游的旺季】某航空公司规定在旅游的旺季79月份,如果月份,如果订票数超过订票数超过20张,票价优惠张,票价优惠15%,20张以下,优惠张以下,优惠5%;在旅游的淡季在旅游的淡季15月份、月份、10月份、月份、11月份,如果订票数超月份,如果订票数超过过20张,票价优惠张,票价优惠30%,20

34、张以下,优惠张以下,优惠20%;其他情况;其他情况一律优惠一律优惠10%。设计程序,根据月份和订票张数决定票价的优惠率。设计程序,根据月份和订票张数决定票价的优惠率。图图4-11 计算优惠价计算优惠价 命令按钮命令按钮Command1的单击(的单击(Click)事件代码为:)事件代码为: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,10,11 If n 20 Then r=20 Els

35、e r=30 Case 7 To 9 If n 0 And Text1.Text 0 Then Command1.SetFocus End IfEnd Subv4.5 使用计时器控件使用计时器控件 计时器(计时器(Timer)是)是Visual Basic提供的一个用于定时的提供的一个用于定时的特殊控件,当到达预定时间时,系统会自动触发其特殊控件,当到达预定时间时,系统会自动触发其Timer事件,以便完成指定的操作。事件,以便完成指定的操作。计时器控件在设计时显示为一个小时钟图标,而在运行计时器控件在设计时显示为一个小时钟图标,而在运行时则不可见,常用来做一些后台处理。计时器的属性和事时则不可

36、见,常用来做一些后台处理。计时器的属性和事件都相当少,能响应的事件只有自身特有的一个件都相当少,能响应的事件只有自身特有的一个Timer事事件,其主要属性见表件,其主要属性见表4-6。表表4-6 Timer控件的属性控件的属性属 性说 明Enabled该属性为True时,定时器开始工作,为False时暂停Interval该属性用来设置定时器触发的周期(以毫秒计)取值范围为064767【例【例4-13】为一个应用系统设计流动字幕板,如图】为一个应用系统设计流动字幕板,如图4-12所所示,标题示,标题“欲穷千里目,更上一层楼欲穷千里目,更上一层楼”在窗体中自右至左在窗体中自右至左地反复移动。地反复

37、移动。图图4-12 电子标题板电子标题板 命令按钮命令按钮Command1的的Click事件代码:事件代码:Private Sub Command1_Click()If Command1.Caption=&S 暂停 Then Command1.Caption=&C 继续 Timer1.Enabled=False Else Command1.Caption=&S 暂停 Timer1.Enabled=True End IfEnd Sub编写编写Timer1的的Timer事件代码:事件代码:Private Sub Timer1_Timer()If Label1.Left+Label1.Width 0

38、 Then Label1.Move Label1.Left 20 Else Label1.Left=Form1.ScaleWidth End IfEnd Subv4.6 提供简单选择的控件提供简单选择的控件 成组使用的选项按钮以及复选框可以为用户提供简单的、成组使用的选项按钮以及复选框可以为用户提供简单的、事先准备的选项。事先准备的选项。4.6.1 4.6.1 选项按钮选项按钮 选项按钮(选项按钮(OptionButton)又称单选按钮。一般来说,)又称单选按钮。一般来说,选项按钮总是作为一个组(选项按钮组)的组成部分工作选项按钮总是作为一个组(选项按钮组)的组成部分工作的。的。选项按钮组是一

39、组相互排斥的选项按钮,选择一个选项选项按钮组是一组相互排斥的选项按钮,选择一个选项按钮就会立即清除该组中的其他按钮。在选项按钮组中只按钮就会立即清除该组中的其他按钮。在选项按钮组中只能单击一个选项,即选项按钮组只允许用户从选择菜单中能单击一个选项,即选项按钮组只允许用户从选择菜单中选择一个选项。选择一个选项。1.使用选项按钮组使用选项按钮组 在窗体中定义的若干选项按钮可以组成一个选项组,一在窗体中定义的若干选项按钮可以组成一个选项组,一般常用框架(般常用框架(Frame)控件来组织一个选项组。)控件来组织一个选项组。【例【例4-14】设银行定期存款年利率为:】设银行定期存款年利率为:1年期年期

40、2.25%,2年年期期2.70%,3年期年期3.24%,5年期年期3.60%(不计复利)。今(不计复利)。今有本金有本金a元,元,5年以后使用,共有以下年以后使用,共有以下6种存法:种存法:存一次存一次5年期;年期;存一次存一次3年期,一次年期,一次2年期;年期;存一次存一次3年期,两次年期,两次1年期;年期;存两次存两次2年期,一次年期,一次1年期;年期;存一次存一次2年期,三次年期,三次1年期;年期;存五次存五次1年期。年期。图图4-14 计算利息计算利息 分别计算各种存法分别计算各种存法5年后到期时的本息合计,如图年后到期时的本息合计,如图4-14所示。所示。分析:设分析:设x1、x2、

41、x3、x5分别表示分别表示1年、年、2年、年、3年、年、5年年定期储蓄的利息,定期储蓄的利息,a表示本金,则定期的本息计算公式分表示本金,则定期的本息计算公式分别为:别为:(1+x1)a、(1+2x2)a、(1+3x3)a、(1+5x5)a。编写命令按钮编写命令按钮Command1的单击(的单击(Click)事件代码:)事件代码:Private Sub Command1_Click()Dim a As Single,y As Single Dim x1 As Single,x2 As Single Dim x3 As Single,x5 As Single a=Val(Text1.Text)x

42、1=0.0225:x2=0.0270 x3=0.0324:x5=0.0360 Select Case True Case Option1.Value y=(1+5*x5)*a Case Option2.Value y=(1+3*x3)*(1+2*x2)*aCase Option3.Value y=(1+3*x3)*(1+x1)2*a Case Option4.Value y=(1+2*x2)2*(1+x1)*a Case Option5.Value y=(1+2*x2)*(1+x1)3*a Case Option6.Value y=(1+x1)5*a End Select Text2.Text

43、=y Text1.SetFocusEnd Sub 编写文本框编写文本框Text1的的GotFocus事件代码:事件代码:Private Sub Text1_GotFocus()Text1.SelStart=0 Text1.SelLength=Len(Text1.Text)End Sub2.使用图形选项按钮使用图形选项按钮 可以将选项按钮设计成图形按钮的形式。可以将选项按钮设计成图形按钮的形式。【例【例4-15】用图形选项按钮组控制流动字幕中的字体,如】用图形选项按钮组控制流动字幕中的字体,如图图4-15所示。所示。在例在例4-13中增加中增加4个选项按钮个选项按钮Option1Option4,

44、并修,并修改改Option1Option4的的Style属性为:属性为:1 Graphical(图(图形方式),再依次修改其形方式),再依次修改其Caption属性,如图属性,如图4-15所示。所示。图图4-15 图形选项按钮组图形选项按钮组 编写选项按钮编写选项按钮Option1Option4的的Click事件代码:事件代码:Private Sub Option1_Click()Text1.FontName=宋体End SubPrivate Sub Option2_Click()Text1.FontName=隶书End SubPrivate Sub Option3_Click()Text1.

45、FontName=黑体End SubPrivate Sub Option4_Click()Text1.FontName=楷体_GB2312End Sub 说明:可以为图形按钮添加图形文件,以创建真正的说明:可以为图形按钮添加图形文件,以创建真正的“图形按钮图形按钮”。4.6.2 4.6.2 复选框复选框 选项按钮组属于多项中选择一项的选择,若需要选择多选项按钮组属于多项中选择一项的选择,若需要选择多项的情况,可以采用多个复选框(项的情况,可以采用多个复选框(CheckBox)控件。)控件。当复选框被选定时,复选框中出现一个当复选框被选定时,复选框中出现一个“”。复选框的。复选框的Caption

46、属性可以指定出现在复选框旁边的文本,而属性可以指定出现在复选框旁边的文本,而Picture属性用来指定当复选框被设计成图形按钮时的图像。属性用来指定当复选框被设计成图形按钮时的图像。复选框的状态由其复选框的状态由其Value属性决定:属性决定:0 假,假,1 真,真,2 暗。暗。1.使用单个复选框使用单个复选框 单个的复选框是让用户在两个选项之间进行选择,如是单个的复选框是让用户在两个选项之间进行选择,如是或否,真或假。这有点儿像两个按钮的选项组,只是形式或否,真或假。这有点儿像两个按钮的选项组,只是形式上要简单一些,操作更方便一些。上要简单一些,操作更方便一些。【例【例4-16】在上例中,增

47、加复选框,控制选项按钮组的显】在上例中,增加复选框,控制选项按钮组的显示,如图示,如图4-16所示。所示。图图4-16 利用复选框控制选项按钮组的显示利用复选框控制选项按钮组的显示 复选框控件复选框控件Check1的的Click事件代码:事件代码:Private Sub Check1_Click()Option1.Visible=Check1.Value Option2.Visible=Check1.Value Option3.Visible=Check1.Value Option4.Visible=Check1.ValueEnd Sub2.使用多个复选框使用多个复选框 一般情况下,复选框总是

48、成组出现,用户可以从中选择一般情况下,复选框总是成组出现,用户可以从中选择一个或多个选项。一个或多个选项。【例【例4-17】设计一个个人资料输入窗口,使用选项按钮组】设计一个个人资料输入窗口,使用选项按钮组输入性别与民族,使用复选框输入个人爱好,如图输入性别与民族,使用复选框输入个人爱好,如图4-17所所示。示。图图4-17 使用多个复选框使用多个复选框 编写命令按钮编写命令按钮Command1的的Click事件代码:事件代码:Private Sub Command1_Click()If Text1.Text=Then a=InputBox(您忘了输入姓名!,注意,请在此输入姓名)If a=O

49、r a=请在此输入姓名 Then Exit Sub Text1.Text=a End If p1=Text1.Text+,p2=IIf(Option1,男,女)+,p3=IIf(Option3,汉族,少数民族)p4=,喜欢:If Check1.Value=1 Then p4=p4+Check1.Caption+、If Check2.Value=1 Then p4=p4+Check2.Caption+、If Check3.Value=1 Then p4=p4+Check3.Caption+、If Check4.Value=1 Then p4=p4+Check4.Caption+、aa=p1+p2

50、+p3+IIf(p4=,喜欢:,,无爱好。,p4)Label4.Caption=Left(aa,Len(aa)1)+。Text1.SetFocusEnd Sub 编写文本框编写文本框Text1的的Change事件代码:事件代码:Private Sub Text1_Change()Label4.Caption=End Sub 说明:框架说明:框架Frame1不能少,否则不能少,否则4个选项按钮成为一组。个选项按钮成为一组。3.复选框的图形方式复选框的图形方式 也可以将复选框做成图形(即按钮)方式,这只要改变也可以将复选框做成图形(即按钮)方式,这只要改变Style属性的设置,然后使用属性的设置,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第4章 选择结构程序设计 .ppt)为本站会员(hyngb9260)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|