Visual FoxPro 程序设计教程 教学课件 ppt 作者 刘瑞新 第5章

上传人:E**** 文档编号:89180965 上传时间:2019-05-20 格式:PPT 页数:50 大小:398KB
返回 下载 相关 举报
Visual FoxPro 程序设计教程 教学课件 ppt 作者 刘瑞新 第5章_第1页
第1页 / 共50页
Visual FoxPro 程序设计教程 教学课件 ppt 作者 刘瑞新 第5章_第2页
第2页 / 共50页
Visual FoxPro 程序设计教程 教学课件 ppt 作者 刘瑞新 第5章_第3页
第3页 / 共50页
Visual FoxPro 程序设计教程 教学课件 ppt 作者 刘瑞新 第5章_第4页
第4页 / 共50页
Visual FoxPro 程序设计教程 教学课件 ppt 作者 刘瑞新 第5章_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《Visual FoxPro 程序设计教程 教学课件 ppt 作者 刘瑞新 第5章》由会员分享,可在线阅读,更多相关《Visual FoxPro 程序设计教程 教学课件 ppt 作者 刘瑞新 第5章(50页珍藏版)》请在金锄头文库上搜索。

1、第5章 选择结构程序设计,5.1 条件表达式 5.2 条件选择语句 5.3 提供简单选择的控件 5.4 计时器与微调器 5.5 键盘事件,5.1 条件表达式,5.1.1 关系运算符与关系表达式 VFP提供的关系运算符有8种,见表5-1。,5.1.2 逻辑运算符与逻辑表达式 VFP提供的逻辑运算符有以下3种,见表5-2。,逻辑运算符的运算规则,见表5-3。,5.1.3 运算符的优先顺序 同级运算按照它们从左到右出现的顺序进行计算。 可以用括号改变优先顺序,强令表达式的某些部分优先运行。 括号内的运算总是优先于括号外的运算,在括号之内,运算符的优先顺序不变。,【例5-1】设变量x = 3,y =

2、-2,a = 6.5,b = 7.2,求下列表达式的值: x + y a + b AND NOT y 0.7 AND NOT y b 再作关系运算 .T. AND NOT .F. 作逻辑非运算 .T. AND .T. 最后得 .T.,5.2 条件选择语句,5.2.1 单条件选择语句IF 1. 单条件选择结构 一般形式如图5-1所示。,2. 语法结构 实现单条件选择结构的语句是If语句,其语法格式为: IF 条件 语句列1 ELSE 语句列2 ENDIF 【例5-2】设计一个验证口令的表单。输入口令时文本框中只显示相同个数的“*”号,如图5-2所示。,设计步骤如下: 建立应用程序用户界面。 设置

3、对象属性,见表5-5,如图5-3所示。, 编写程序代码。 编写关闭按钮Command1的Click事件代码: THISFORM.Release 编写Text1的Valid事件代码: THISFORM.Command1.TabStop = .F. a = LOWER(THIS.Value) IF a= “abcd “ THISFORM.Label1.Top = THIS.Parent.Top THISFORM.Label1.Caption=“欢迎使用本程序!“,THISFORM.Command1.TabStop = .T. THIS.Parent.Visible = .F. ELSE MESSA

4、GEBOX(“对不起,口令错!请重新输入!“,48,“口令“) THIS.SelStart=0 THIS.SelLength=LEN(RTRIM(THIS.Value) ENDIF,【例5-3】求函数值(如图5-4所示)。输入x,计算y的值,其中:,根据以上分析,画出流程图,如图5-5所示。,设计步骤如下: 建立应用程序用户界面与设置对象属性。参照第5章的方法建立用户界面与设置对象属性(参见图5-4)。 编写程序代码。根据流程图,可以写出命令按钮Command1的单击(Click)事件代码为: x = THISFORM.Text1.Value IF x = 0 y = 4 * x ELSE y

5、 = 15 2 * x ENDIF THISFORM.Text1.SelStart = 0 THISFORM.Text1.SelLength = LEN(THISFORM.Text1.Text) THISFORM.Text1.SetFocus THISFORM.Text2.Value = y,3. 使用IIF函数 还可以使用IIF函数来实现一些比较简单的选择结构。IIF函数的语法结构为: IIF(条件,真部分,假部分) 【例5-4】例5-3中命令按钮Command1的单击(Click)事件代码可以改为 x = THISFORM.Text1.Value y = IIF(x = 0, 4 * x,

6、 15 2 * x) THISFORM.Text2.Value = y THISFORM.Text1.SelStart = 0 THISFORM.Text1.SelLength = LEN(THISFORM.Text1.Text) THISFORM.Text1.SetFocus,4. IF语句的嵌套 如果在IF语句中操作块a1块(语句列1)或a2块(语句列2)本身又是一个IF语句,则称为IF语句的嵌套。 【例5-5】某百货公司为了促销,采用购物打折扣的优惠办法:每位顾客一次购物 在1000元以上者,按九五折优惠。 在2000元以上者,按九折优惠。 在3000元以上者,按八五折优惠。 在5000

7、元以上者,按八折优惠。 编写程序,输入购物款数,计算并输出优惠价。 分析:设购物款数为x元,优惠价为y元,则计算优惠价的流程图如图5-6所示。,设计步骤如下: 建立应用程序用户界面与设置对象属性。参照第5章的方法建立用户界面与设置对象属性,如图5-7所示 编写程序代码。根据流程图,可以写出命令按钮Command1的单击(Click)事件代码为: 图5-7 计算优惠价 x = THISFORM.Text1.Value IF x 1000 y = x ELSE IF x 2000 y = 0.95 * x ELSE IF x 3000 y = 0.9 * x ELSE IF x 5000 y =

8、0.85 * x ELSE,y = 0.08 * x ENDIF ENDIF ENDIF ENDIF THISFORM.Text2.Value = y THISFORM.Text1.SelStart = 0 THISFORM.Text1.SelLength = LEN(THISFORM.Text1.Text) THISFORM.Text1.SetFocus,5.2.2 多分支条件选择语句DO CASE 1. 多分支条件选择结构 多分支选择结构如图5-8所示。,2. 多分支条件选择语句DO CASE语法结构 DO CASE语句的语法格式为: DO CASE CASE 条件1 语句列1 CASE

9、条件2 语句列2 . OTHERWISE 其他语句列 ENDCASE,【例5-6】在例5-5中使用DO CASE语句来计算优惠价,只需将其中命令按钮Command1的Click事件代码改为 x = THISFORM.Text1.Value DO CASE CASE x 1000 y = x CASE x 2000 y = 0.95 * x CASE x 3000 y = 0.9 * x CASE x 5000 y = 0.85 * x OTHERWISE y = 0.08 * x ENDCASE THISFORM.Text2.Value = y THISFORM.Text1.SelStart

10、= 0 THISFORM.Text1.SelLength = LEN(THISFORM.Text1.Text) THISFORM.Text1.SetFocus,5.3 提供简单选择的控件,5.3.1 使用命令按钮组,1. 命令按钮组,【例5-7】使用命令按钮组的程序。设银行定期存款年利率为1年期2.25%,2年期2.43%,3年期2.70%,5年期2.88%(不计复利)。今有本金x元,5年以后使用,共有以下6种存法: 存一次5年期。 存一次3年期,一次2年期。 存一次3年期,两次1年期。 图5-10 使用命令按钮组 存两次2年期,一次1年期。 存一次2年期,三次1年期。 存五次1年期。,分别计

11、算各种存法5年后到期时的本息合计,如图5-12所示。 分析:设x1、x2、x3、x5分别表示1年、2年、3年、5年定期储蓄的利息,a表示本金,则定期的本息计算公式分别为:(1 + x1)a、(1 + 2x2)a、(1 + 3x3)a、(1 + 5x5)a。 设计步骤如下:, 建立应用程序用户界面。选择新建表单,进入表单设计器,增加一个命令按钮组Commandgroup1、一个文本框Text1、一个形状控件Shape1、两个标签控件Label1和Label2。 将命令按钮组Commandgroup1的ButtonCount属性改为6,将形状控件Shape1的SpecialEffevt属性改为:0

12、 3维,如图5-11所示。 设置对象属性。命令按钮组是个容器类控件,用鼠标右键单击命令按钮组Commandgroup1,在弹出菜单中选择“编辑”,“容器”Commandgroup1的周围出现浅绿色的边界,表示开始编辑该容器。此时,,可以依次选择其中的命令按钮,设置其各项属性。 各控件属性的设置可以参照图5-11和第5章的方法。 编写程序代码。 编写表单的Activate事件代码: THIS.Text1.SetFocus,编写命令按钮组Commandgroup1的Click事件代码: a = THISFORM.Text1.Value x1 = 0.0225 x2 = 0.0243 x3 = 0.

13、027 x5 = 0.0288 n = THIS.Value DO CASE CASE n = 1 mes = “存1次5年期“ y = (1 + 5 * x5) * a CASE n = 2 mes = “存1次3年期,1次2年期“ y = (1 + 3 * x3) * (1 + 2 * x2) * a CASE n = 3 mes = “存1次3年期,2次1年期“ y = (1 + 3 * x3) * (1 + x1)2 * a CASE n = 4 mes = “存2次2年期,1次1年期“ y = (1 + 2 * x2)2 * (1 + x1) * a,CASE n = 5 mes =

14、 “存1次2年期,3次1年期“ y = (1 + 2 * x2) * (1 + x2)3 * a CASE n = 6 mes = “存5次1年期“ y = (1 + x1)5 * a ENDCASE mes = ALLT(STR(a) + “元“ + mes + CHR(13) + “到期时,本息共计:“ + ALLT(STR(y,12,2) + “元“ MESSAGEBOX(mes, 0 , “利息计算“) 2. 按钮组生成器,5.3.2 使用选项按钮组,【例5-8】利用选项组控制例5-7中存款利息的计算,如图5-14所示。 设计步骤如下: 建立应用程序用户界面。选择新建表单,进入表单设计

15、器,增加一个选项按钮组控件OptionGroup1、一个文本框Text1、一个形状控件Shape1、3个标签控件Label1Label3。 将选项按钮组控件OptionGroup1的ButtonCount属性改为6,将形状控件Shape1的SpecialEffevt属性改为0 3维,如图5-15所示。, 设置对象属性。用鼠标右键单击选项按钮组OptionGroup1,在弹出菜单中选择“编辑”,选项按钮组OptionGroup1的周围出现浅绿色的边界,表示开始编辑该容器。此时,可以依次选择其中的选项按钮,设置其各项属性。 各控件属性的设置可以参照图5-15和第5章的方法。 编写程序代码。 编写表

16、单的Activate事件代码: THIS.Text1.SetFocus,编写选项按钮组OptionGroup1的Click事件代码: a = THISFORM.Text1.Value x1 = 0.0225 x2 = 0.0243 x3 = 0.027 x5 = 0.0288 n = THIS.Value DO CASE CASE n = 1 mes = “存1次5年期“ y = (1 + 5 * x5) * a CASE n = 2 mes = “存1次3年期,1次2年期“ y = (1 + 3 * x3) * (1 + 2 * x2) * a CASE n = 3 mes = “存1次3年期,2次1年期“ y = (1 + 3 * x3) * (1 + x1)2 * a CASE n = 4 mes = “存2次2年期,1次1年期“ y = (1 + 2

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号