VFP常见编程37例文档格式.docx
《VFP常见编程37例文档格式.docx》由会员分享,可在线阅读,更多相关《VFP常见编程37例文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
30
7、查找男性职工
**查找男性职工
LOCATEFOR性别="
男"
DOWHILEFOUND()
CONTINUE
DOWHILENOTEOF()
USE职员基本信息表
DOWHILE.t.
IFFOUND()then
ELSE &
记住最后一个ELSE语句后面不需要条件表达式
**查找男性职工
settalkoff
clear
opendatabase家庭成员管理.dbc
usestu.dbf
scanfornoteof()
ifxb="
女"
skip
else
display
endif
endscan
closedatabase
use
settalkon
return
8、新值换旧值
**有一对新生的兔子,从第三个月开始,每个月出生一对兔子,请问到第十二个月共出生多少对兔子?
store1toa,b
i=3
dowhilei<
=12
c=a+b
a=b
b=c
enddo
"
一年共出生兔子:
c
9、多位整数各个位数相加
**求多位整数各个位数之和
input"
请输入一个多位整数:
toa
DOWHILEa<
>
s=s+MOD(a,10)
将a取余正好是个位上的数
a=INT(a/10)
将a除10取整正好是除个位之后的数
这个整数的各个位数之和是:
s
10、找100-999之间的“水仙花数”
FORi=100TO999
a=INT(i/100)
b=INT((i-100*a)/10)
c=i-INT(i/10)*10
IFi=a^3+b^3+c^3
?
i
ENDIF
ENDFOR
11、判断一个大于3的数是否为素数
请输入一个数(>
=3):
tos
f=0
i=2
=INT(SQRT(s))
IFMOD(s,i)<
i=i+1
LOOP
ELSE
f=1
EXIT
IFf=0
str(s,3)+"
是素数"
ELSEf=1 &
这个表达式可有可无,为了省事完全省略也可以。
一般最后一个ELSE语句后面不需要表达式
不是素数"
12、求一个班级每个学生的平均成绩
**计算一个班级共三十名学生,每位学生5门功课的平均成绩
CLEAR
清屏
DIMENSIONx(30,5)
定义一个数组变量,r为学生数,i为功课数
r=1
给30个学生的计数变量r赋初值1
DOWHILEr<
=30
循环30次,以计算出30个学生的平均成绩
s=0
为学生一门功课成绩赋初值0
i=1
为五门功课计数变量赋初值1
DOWHILEi<
=5&
为一个学生的五门功课成绩累加5次
input"
请输入学生的成绩"
tox(r,i)
s=s+x(r,i)
成绩累加
i=i+1
功课累加
ENDDO
返回内循环
这名学生的平均成绩是:
s/5
显示平均成绩
r=r+1
学生累加
ENDDO
返回外循环
13、计算圆的面积
*计算圆的面积程序
请输入半径的值"
tor
请输入pi的值"
to
pi
s=pi*r^2
圆的面积是"
14、将小写字母转换为大写字母
NOTE请将任意输入的一个小写字母转换成大写字母,也就是upper()函数的程序实现
请屏
WAIT"
请输入一个小写字母"
tox
交互式输入一个小写字母
k=ASC(x)
将小写字母的ASC码赋值给变量K
IFk>
=97ANDk<
=122then
97是小写字母a的ASC码值,122是小写字母z的ASC码值
x,"
的大写字母是"
CHR(k-32)
输出大写字母.chr函数是ASC码所对应的字符
WAIT"
您输入的不是小写字母"
WINDOWTIMEOUT5
cancel
RETURN
返回到调用程序
15、找出最大数和最小数
请输入一个数:
tox
STORExTOma,mi
FORi=2TO10
因为已经输入一个数X,所以循环次数只有9次
IFma<
x
ma是变量中存的数,x是刚输入的数
ma=x
IFmi>
x
mi=x
最大数是:
ma
最小数是:
mi
16、绝对值函数的实现
**绝对值函数的实现
请输入一个数值"
ton
IFn>
=0
n
-n
CANCEL
17、绝对值函数实现的另一种方法
**绝对值函数和另一种实现方法
请输入一个数值"
IIF(n>
=0,n,-n)
18、输出成绩等级
**用DOCASE语句实现:
请输入一个成绩"
tocj
DOcase
CASEcj>
=90
dj="
优秀"
=80
良好"
=60
合格"
OTHERWISE
不合格"
ENDCASE
dj
**用IF语句实现:
请输入一个成绩:
ifs>
grade="
else
ifs>
及格"
不及格"
endif
ltrim(str(s))+"
分对应的等级是:
+grade
19、求一名学生的平均成绩
**求一个学生5门功课的平均成绩
请输入各门功课的成绩"
s=s+x
s/5
20、用数组的方法,计算一个学生的平均成绩
**用数组保存一个学生五门功课的成绩,然后再计算机其平均成绩
DIMENSIONx(5)
tox(i)
s=s+x(i)
21、用docase语句实现符号函数的功能
**请输入一个数,当这个数是负数,就返回-1,当这个数是零,就返回零,当这个数是正数,就返回1
请输入一个数"
DOCASE
CASEn>
s=1
CASEn=0
s=0
CASEn<
s=-1
22、用一般选择语句实现符号函数的功能
**符号函数的实现
s=1
IFn=0
IFn<
23、用简单选择语句实现符号函数功能
IFn=0
s=1
IFn<
s=-1
24、打开数据库和数据表
SETtalkoff
accept"
请输入数据库名"
OPENDATABASE&
请输入数据表名"
toy
USE&
y
LIST
25、显示表中指定信息
SETTALKOFF
OPENDATABASE时代超越总公司职员信息数据库
请输入待查职工的编号(1-3)"
TOn
IFVAL(n)<
1.or.VAL(n)>
3
输入无效,结束程序运行!
WINDOWtimeout5
STORE"
0"
+nTOa
LISTfor"
职员编号"
=a
CLOSEDATABASES
SETTALKON
26、询问后再由用户按(Y/N)键执行的程序实现
**求任意一个数的阶乘
p=1
FORi=1TOn
p=p*i
s=s+p
是否继续计算(Y/N)"
TOynwindow
IFUPPER(yn)="
Y"
THEN
27、根据exact的设置进行字符串匹配比较
**exact设置的变化对取值结果的影响
SETexactON
exact为打开状态,字符精确匹配
s="
in"
+SPACE
(2)
IFs=="
IFs="
a"
b"
c"
d"
28、使一个多位正整数逆序排列
请输入一个整数:
DOWHILEx>
y=x%10
x=INT(x/10)
29、按编号查找并列出一条记录
请输入数据库名:
家庭成员管理:
opendatabase
请输入数据表名:
stu:
tob
list
wait"
请输入一个编号:
tocwindowstimeout5
ifval(c)<
=0orval(c)>
4
输入的数字不合法,请重新输入一个合法的数字:
store"
+ctoaaa
listforbh=aaa
30、打开一个数据库,并显示其中的表内容
请输入一个数据库名:
家庭成员管理.dbc"
请输入一个数据表名:
stu.dbf"
30、验证密码程序:
请输入密码:
toaaa
ifaaa="
abc"
欢迎使用本系统!
密码错误,程序将在5秒钟退出!
windowstimeout5
31、编程求税金
请输入营业收入:
top
docase
casep<
800
r=0
casep=<
2000
r=0.05
5000
r=0.08
casep>
=5000
r=0.1
endcase
x=p*r
应纳税金为:
x
32、用三角形列出乘法口诀表:
X=1
DOWHILEX<
=9
Y=1
DOWHILEY<
=X
S=X*Y
STR(Y,1)+"
*"
+STR(X,1)+"
="
+STR(S,2)+"
"
Y=Y+1
ENDDO
X=X+1
33、将变量A、B值互换:
a=1
b=2
a=a+b
b=a-b
a=a-b
a,b
34、找出已知三个数的中间数:
INPUT"
请输入a的值:
TOa
请输入b的值:
TOb
请输入c的值:
TOc
IFMAX(a,b)<
c
MAX(a,b)
IFMIN(a,b)<
c
MIN(a,b)
35、调用子程序:
*MAIN.PRG
”正在执行主程序”
DOSUB1
ProcedureSUB1
”正在执行SUB1”
36、用参数传递计算圆的面积:
请输入圆的半径"
s=0
用参数传递计算必须给实际参数赋初值
doarerwithr,s &
调用子程序,并指定实际参数r,s
圆的面积为:
procedurearer
被调用的子程序arer
parameterx,y
指定的形式参数x,y
y=3.14*x^2
37、我国古代数学家张丘建在“算经”里提出一个世界数学史上有名的百
鸡问题:
鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买
百鸡,问鸡翁,母,雏各几何?
**依题列出方程:
x+y+z=100
5x+3y+z/3=100
forx=1to100
fory=1to100
z=100-x-y
if5*x+3*y+z/3=100
鸡翁:
+str(x,3)
鸡母:
+str(y,3)
鸡雏:
+str(z,3)
endfor
endfor