文档库 最新最全的文档下载
当前位置:文档库 › vfp编程实例

vfp编程实例

vfp编程实例
vfp编程实例

1、1-100的累加

2、阶乘

3、求阶乘和

4、条件定位

5、用scan语句查询定位

6、用scan语句扫描符合条件的记录,并显示出来

7、查找男性职工

** 查找男性职工**

查找男性职工

8、新值换旧值

9、多位整数各个位数相加

10、找100-999之间的“水仙花数”

11、判断一个大于3的数是否为素数

12、求一个班级每个学生的平均成绩

13、计算圆的面积

14、将小写字母转换为大写字母

15、找出最大数和最小数

16、绝对值函数的实现

17、绝对值函数实现的另一种方法

18、输出成绩等级

19、求一名学生的平均成绩

20、用数组的方法,计算一个学生的平均成绩

21、用do case语句实现符号函数的功能

22、用一般选择语句实现符号函数的功能

23、用简单选择语句实现符号函数功能

24、打开数据库和数据表

25、显示表中指定信息

26、询问后再由用户按(Y/N)键执行的程序实现

27、根据exact的设置进行字符串匹配比较

28、使一个多位正整数逆序排列

29、按编号查找并列出一条记录

30、验证密码程序:

31、编程求税金

32、用三角形列出乘法口诀表:

33、将变量A、B值互换:

34、找出已知三个数的中间数:

35、调用子程序:

36、用参数传递计算圆的面积:

37、我国古代数学家张丘建

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岁的人显示出来

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

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 a<>0

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 "请输入学生的成绩" to x(r,i)

s=s+x(r,i) && 成绩累加

i=i+1 && 功课累加

ENDDO && 返回内循环

?"这名学生的平均成绩是:",s/5 && 显示平均成绩r=r+1 && 学生累加

ENDDO && 返回外循环

13、计算圆的面积

* 计算圆的面积程序

CLEAR

input "请输入半径的值" to r

input "请输入pi的值" to pi

s=pi*r^2

?"圆的面积是",s

RETURN

14、将小写字母转换为大写字母

NOTE 请将任意输入的一个小写字母转换成大写字母,也就是upper()函数的程序实现

CLEAR && 请屏

WAIT "请输入一个小写字母" to x && 交互式输入一个小写字母

k=ASC(x) && 将小写字母的ASC码赋值给变量K

IF k>=97 AND k<=122 then && 97是小写字母a的ASC码

值,122是小写字母z的ASC码值

?x,"的大写字母是",CHR(k-32) && 输出大写字母.chr函数是ASC码所对应的字符

ELSE

WAIT "您输入的不是小写字母" WINDOW TIMEOUT 5 cancel

ENDIF

RETURN && 返回到调用程序

15、找出最大数和最小数

CLEAR

input "请输入一个数:" to x

STORE x TO ma,mi

FOR i=2 TO 10 &&因为已经输入一个数X,所以循环次数只有9次

input "请输入一个数:" to x

IF ma

ENDIF

IF mi>x

mi=x

ENDIF

ENDFOR

?"最大数是:",ma

?"最小数是:",mi

RETURN

16、绝对值函数的实现

** 绝对值函数的实现

CLEAR

input "请输入一个数值" to n

IF n>=0

?n

ELSE

?-n

ENDIF

CANCEL

17、绝对值函数实现的另一种方法** 绝对值函数和另一种实现方法CLEAR

input " 请输入一个数值" to n

?IIF(n>=0,n,-n)

CANCEL

18、输出成绩等级

** 用DO CASE语句实现:CLEAR

input "请输入一个成绩" to cj DO case

CASE cj>=90

dj="优秀"

CASE cj>=80

dj="良好"

CASE cj>=60

dj="合格"

OTHERWISE

dj="不合格"

ENDCASE

?dj

RETURN

**用IF语句实现:

set talk off

clear

input "请输入一个成绩:" to s

if s>=90

grade="优秀"

else

if s>=80

grade="良好"

else

if s>=60

grade="及格"

else

grade="不及格"

endif

endif

endif

?ltrim(str(s))+"分对应的等级是:"+grade set talk on

return

19、求一名学生的平均成绩

** 求一个学生5门功课的平均成绩CLEAR

s=0

i=1

DO WHILE i<=5

input "请输入各门功课的成绩" to x

s=s+x

i=i+1

ENDDO

?s/5

20、用数组的方法,计算一个学生的平均成绩

** 用数组保存一个学生五门功课的成绩,然后再计算机其平均成绩

CLEAR

DIMENSION x(5)

s=0

i=1

DO WHILE i<=5

input "请输入各门功课的成绩" to x(i)

s=s+x(i)

i=i+1

ENDDO

?s/5

RETURN

21、用do case语句实现符号函数的功能

** 请输入一个数,当这个数是负数,就返回-1,当这个数是零,就返回零,当这个数是正数,就返回1

CLEAR

input "请输入一个数" to n

DO CASE

CASE n>0

s=1

CASE n=0

s=0

CASE n<0

s=-1

ENDCASE

?s

RETURN

22、用一般选择语句实现符号函数的功能

** 符号函数的实现

CLEAR

input "请输入一个数" to n

IF n>0

s=1

ELSE

IF n=0

s=0

ELSE

IF n<0

s=-1

ENDIF

ENDIF

ENDIF

?s

23、用简单选择语句实现符号函数功能** 符号函数的实现

CLEAR

input "请输入一个数" to n

IF n=0

s=0

ENDIF

IF n>0

s=1

ENDIF

IF n<0

s=-1

ENDIF

?s

24、打开数据库和数据表

SET talk off

CLEAR

accept "请输入数据库名" to x

OPEN DATABASE &x

accept "请输入数据表名" to y

USE &y

LIST

use

SET talk off

return

25、显示表中指定信息

SET TALK OFF

CLEAR

OPEN DATABASE 时代超越总公司职员信息数据库USE 职员基本信息表

WAIT "请输入待查职工的编号(1-3)" TO n

IF VAL(n)<1 .or. VAL(n)>3

WAIT "输入无效,结束程序运行!" WINDOW timeout 5 RETURN

ELSE

STORE "0"+n TO a

LIST for "职员编号"=a

ENDIF

CLOSE DATABASES

SET TALK ON

return

26、询问后再由用户按(Y/N)键执行的程序实现

** 求任意一个数的阶乘

CLEAR

DO WHILE .t.

input "请输入一个数" to n

p=1

s=0

FOR i=1 TO n

p=p*i

s=s+p

ENDFOR

?s

相关文档