1. 在打开的程序窗口中,按下 CTRL+E 键。 2. 若“保存”对话框出现,选择“是”按钮。
运行此程序时,各个结果将在 Visual FoxPro 主窗口中分行显示。
(1)VFP的程序结构可以分为三种:顺序结构、分支结构、循环结构。 顺序结构:执行程序顺序与书写顺序一致;
分支结构: 执行程序顺序是根据条件是否成立来选择一条路径; 循环结构:。执行程序顺序是条件成立时,反复执行某一组语句. 1.顺序结构:按程序中语句的书写顺序逐条执行。
2.分支结构(选择结构):根据逻辑条件的结果执行不同的命令序列。 (1)双分支结构:IF...ELSE...ENDIF (2)多分支结构:DO CASE...ENDCASE
3. 循环结构:按规定的条件重复执行一段命令序列。 (1)DO WHILE...ENDDO (2)FOR ... ENDFOR (3)SCAN ?ENDSCAN 对数据表的循环操作。
说明:分支结构或循环结构可以嵌套,但分支与分支之间或循环与循环之间不能交叉。
(2)结构化程序的特点
每一个基本结构只有一个唯一的入口; 每一个基本结构只有一个唯一的出口;无死语句(永远执行不到)无死循环(永远执行不完)
程序设计的方法:模块化设计,自顶向下设计,逐步细化设计的方法. 1、顺序结构程序设计
顺序结构程序设计是结构化程序设计的基础,即是按完成任务所需步骤的先后顺序逐条命令的编写。
clear p=3.1414926
input \请输入圆的半径:\ s=p*r^2 ?\圆的面积为s=\
Retu
set talk off clea use 数学
input \input \
brow for 平时>=xx.and.平时<=sx field 学号,姓名,平时 use
set talk on retu
do while .T. use 基本表 clear
acce \输入要查找的姓名\locate for 姓名=xm
do while .not.eof()
display
cont enddo
wait \是否继续\
if upper(yn)<>\
exit
endif
enddo use return
2、分支结构程序设计
分支结构就是根据条件的计算结果执行不同的操作。条件分支结构逻辑流程图如图5-6所示,VFP6中有两条命令实现条件分支:
条件分支根据条件的测试结果执行不同的操作。Visual FoxPro 中有两条命令实现条件分支:
? ?
IF ... ELSE ... ENDIF DO CASE ... ENDCASE
只有逻辑条件值为“真”(.T.) 时,才会执行在初始语句和 ENDIF 或 ENDCASE 语句之间的程序。
(1)条件分支
Y 条件 N 语句列1 语句列2 ENDIF后面语句 格式:IF <条件表达式> <语句序列1>
[ELSE <语句序列2>] ENDIF
参数描述:
<条件表达式>:指定要计算的逻辑表达式。如果<条件表达式>的值为
“真”,则执行IF语句之后的<语句序列1>;如果<条件表达式>的值为“假”,而且包含ELSE语句和<语句序列2>,则执行<语句序列2>;如果<条件表达式>的值为“假”,而且不包含ELSE语句和<语句序列2>,则程序忽略IF语句和ENDIF语句之间的所有语句,程序从ENDIF语句后的第一条命令开始继续往下执行其它程序。
说明:一个IF?ENDIF语句块中可以嵌套另一个IF?ENDIF语句块。 【例5-5】假设某单位有很多员工,并且要给月工资高于或等于1000元的员工增加5%的工资,给月工资低于1000元的员工增加10%的工资。
下面的示例程序将完成这一任务。此示例程序假定已在当前工作区打开了员工工资表,表中有一个名为“月工资”的数值型字段。
SET TALK OFF SCAN
IF 月工资>=1000
REPLACE 月工资 WITH 月工资*1.05
ELSE
REPLACE 月工资 WITH 月工资*1.1
ENDIF ENDSCAN SET TALK on RETURN
USE XSCJ01 ACCE\LOCA FOR 学号=BB IF .not.eof()
disp
ELSE
?\
ENDIF USE RETU *P176 5 clea s=1 n=0
for n=1 to 100 if s>=8848
exit
endif
s=0.000005*2^n ?\endfo
?\retu
(2)多条件选择语句 格式:DO CASE
CASE <条件表达式1>
<语句序列1>
[CASE <条件表达式2>
<语句序列2> ?
CASE <条件表达式N>
<语句序列N>]
[OTHERWISE