m程序设计 第5讲程序的三种基本结构 外顺序结构程序设计 分支结构程序设计 循环结构程序设计 FoxproForWindowshttp://cc.synu.edu.cn
FoxPro For Windows http://cc.synu.edu.cn 1 FoxPro程序设计 第5讲 程序的三种基本结构 顺序结构程序设计 分支结构程序设计 循环结构程序设计
m程序设计 顺序结构程序设计 按照命令语句排列的顺序,一条接一条地依次执行。 【例518】在 student. db学生登记表中查找并显示一个学生的信息。 SET TALK OFF 请输入学号:990101 USE student ACCEPT请输入学号:" TO msn990有关信息如下 LOCATE FOR Sno= msn 姓名:王亚洲 性别:男 ?msno,"的有关信息如下:" ?"姓名:",name 假设输入一个不存在的学号? ?"性别:",sex 请输入学号:99999 USE SET TALK ON 99999的有关信息如下 RETU 性别: 上面程序的缺点:未找到,也显示信息 FoxproForWindowshttp://cc.synu.edu.cn 2
FoxPro For Windows http://cc.synu.edu.cn 2 FoxPro程序设计 按照命令语句排列的顺序,一条接一条地依次执行。 【例5.18】在student.dbf学生登记表中查找并显示一个学生的信息。 SET TALK OFF USE student ACCEPT "请输入学号:" TO msno LOCATE FOR sno= msno ? msno, "的有关信息如下:" ? "姓名:", name ? "性别:", sex USE SET TALK ON RETU 请输入学号:990101 990101的有关信息如下: 姓名: 王亚洲 性别: 男 请输入学号:999999 999999的有关信息如下: 姓名: 性别: 顺序结构程序设计 上面程序的缺点:未找到,也显示信息。 假设输入一个不存在的学号?
m程序设计 分支结构程序设计 分支结构是指程序执行到某处时,根据绐定的条件经判断后选择执 行某些语句。难点是条件语句的设置。 1、单分支 IF <expL> IF-ENDIF流程图 <statements1> ENDIF expl>为真 【例】 <statements> IF 5 &&条件语句 y=5*X+3 「END之后的命令 ?Y END &&结束语句 IF- ENDIF是一对,缺一不可 FoxproForWindowshttp://cc.synu.edu.cn 3
FoxPro For Windows http://cc.synu.edu.cn 3 FoxPro程序设计 分支结构是指程序执行到某处时,根据给定的条件经判断后选择执 行某些语句。难点是条件语句的设置。 分支结构程序设计 【例】 IF x=5 &&条件语句 y=5*x+3 ? Y ENDI &&结束语句 IF--ENDIF是一对,缺一不可。 N <expl>为真? <statements1> ENDIF之后的命令 Y IF—ENDIF 流程图 1、单分支 IF <expL> <statements1> ENDIF
m程序设计 【例】用单分支修改上面程序找到后显示信息,找不到,不显示。 SET TALK OFF USE student ACCEPT"请输入学号:"Toxh LOCATE FOR Sno= Xh IF FOUND( && FOUND0查找结果测试函数返回值T或F ?xh,"的有关信息如下:" ?"姓名:",name ?"性别:",sex ENDI USE SET TALK ON RETU 上面程序的缺点:未找到,不显示,但也不显示错误信息。 FoxproForWindowshttp://cc.synu.edu.cn
FoxPro For Windows http://cc.synu.edu.cn 4 FoxPro程序设计 【例】用单分支修改上面程序,找到后显示信息,找不到,不显示。 SET TALK OFF USE student ACCEPT "请输入学号:" TO xh LOCATE FOR sno= xh IF FOUND( ) &&FOUND()查找结果测试函数,返回值.T.或.F. ? xh, "的有关信息如下:" ? "姓名:", name ? "性别:", sex ENDI USE SET TALK ON RETU 上面程序的缺点:未找到,不显示,但也不显示错误信息
m程序设计 2、双分支 IF <expL> <statements1> IF- ELSE--ENDIF流程图 ELSE <statements2> N ENDIF exp>为真 Y <statements> <statements2> 【例】 IF XE5 y=5x+3 ENDIF之后的命令 ELSE y=5*X ENDIF y FoxproForWindowshttp://cc.synu.edu.cn 5
FoxPro For Windows http://cc.synu.edu.cn 5 FoxPro程序设计 2、双分支 IF <expL> <statements1> ELSE <statements2> ENDIF 【例】 IF x=5 y=5*x+3 ELSE y=5*x ENDIF ? y <expl>为真? <statements1> <statements2> ENDIF之后的命令 N Y IF –ELSE—ENDIF流程图