- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VFP常见编程实例1、1-100的累加
** 求1到100的累加值
CLEAR
s=0
i=1
DO WHILE i=100
?s=s+i
?i=i+1? 一定记住先累加后循环
ENDDO
?s
RETURN
?2、阶乘
** 求5的阶乘
CLEAR
j=1
i=1
DO WHILE i=5
?j=j*i
?i=i+1
ENDDO
?j
RETURN
?3、求阶乘和
** 求1至5的阶乘和
CLEAR
s=0
i=1
j=1
DO WHILE i=5
j=j*i
s=s+j
i=i+1
ENDDO
?s
RETURN
4、条件定位
** 查询定位记录指针在赵伟上
CLEAR
USE 学生
LOCATE FOR 姓名=赵伟
IF FOUND()
? DISPLAY
ELSE
? CANCEL
ENDIF
CONTINUE
?5、用scan语句查询定位
** 用scan语句查询定位记录在赵伟上
CLEAR
SCAN FOR 姓名=赵伟
DISPLAY
ENDSCAN
RETURN
?6、用scan语句扫描符合条件的记录,并显示出来
** 把年龄小于30岁的人显示出来
CLEAR
SCAN FOR 年龄30
DISPLAY
ENDSCAN
RETURN
?7、查找男性职工
** 查找男性职工
CLEAR
LOCATE FOR 性别=男
DO WHILE FOUND()
? DISPLAY
? CONTINUE
ENDDO
RETURN
** 查找男性职工
CLEAR
LOCATE FOR 性别=男
DO WHILE NOT EOF()
?DISPLAY
?CONTINUE
ENDDO
RETURN
?** 查找男性职工
CLEAR
USE 职员基本信息表
LOCATE FOR 性别=男
DO WHILE .t.
? IF FOUND() then
??? DISPLAY
? ELSE 记住最后一个ELSE语句后面不需要条件表达式
??? CANCEL
?ENDIF
?CONTINUE
ENDDO
?** 查找男性职工?
set talk off
clear
open database 家庭成员管理.dbc
use stu.dbf
scan for not eof()
if xb=女
skip
else
display
skip
endif
endscan
close database
use
set talk on
return
?8、新值换旧值
** 有一对新生的兔子,从第三个月开始,每个月出生一对兔子,请问到第十二个月共出生多少对兔子?
clear
store 1 to a,b
i=3
do while i=12
c=a+b
a=b
b=c
i=i+1
enddo
?一年共出生兔子:,c
return
?9、多位整数各个位数相加
** 求多位整数各个位数之和
CLEAR
s=0
input 请输入一个多位整数: to a
DO WHILE a0
s=s+MOD(a,10)? 将a取余正好是个位上的数
a=INT(a/10)??? 将a除10取整正好是除个位之后的数
ENDDO
?这个整数的各个位数之和是:,s
RETURN
?10、找100-999之间的“水仙花数”
CLEAR
FOR i=100 TO 999
? a=INT(i/100)
? b=INT((i-100*a)/10)
? c=i-INT(i/10)*10
? IF i=a^3+b^3+c^3
? ?i
? ENDIF
ENDFOR
RETURN
?11、判断一个大于3的数是否为素数
CLEAR
input 请输入一个数(=3): to s
f=0
i=2
DO WHILE i=INT(SQRT(s))
? IF MOD(s,i)0
? i=i+1
? LOOP
? ELSE
? f=1
? EXIT
? ENDIF
ENDDO
? IF f=0
? ?str(s,3)+是素数
? ELSE f=1 这个表达式可有可无,为了省事完全省略也可以。一般最后一个ELSE语句后面不需要表达式
? ?str(s,3)+不是素数
? ENDIF
RETURN
?12、求一个班级每个学生的平均成绩
** 计算一个班级共三十名学生,每位学生5门功课的平均成绩
CLEAR???? 清屏
DIMENSION x(30,5)?? 定义一个数组变量,r为学生数,i为功课数
r=1?????? 给30个学生的计数变量r赋初值1
DO WHILE r=30? 循环30次,以计算出30个学生的平均成绩
? s=0???? 为学生一门功课成绩赋初值0
? i=1???? 为五门功课计数变量赋初值1
? DO WHILE i=5 为一个学生的五门功课成绩累加5次
?? input
文档评论(0)