vf编程案例
① 求用VFP编写一款程序的大体步骤
1、新建项目文件
2、在项目中建立或添加需要的表或数据库
3、建立相应的表单文件,并给表单文件输入相应的程序
4、建立需要的菜单和报表等文件
5、连编成可执行文件,见参考资料
② VF编程题
clear
input"请输入一个数:"ton
?"最大素数是:"
dowhilen>0
iffun(n)=1
?n
exit
endif
n=n-1
enddo
functionfun
parametersc
fori=2toc/2
ifc%i=0
return0
endif
nexti
return1
endfunction
③ vfp编写一个简单的程序
set talk off
clear
dime a[30]
a[1]=1
a[2]=1
for i=3 to 30
a[i]=a[i-1]+a[i-2]
endfor
?a[30]
set talk on
cancel
很久没有搞VF了,不知道源程序对不对算法思想还是这样的,我VF还是三年前过前的,以前的编程基础很好,不过对VF的语法不是很记得了!
上面程序如果对格式有误你自己更正下!
算法和思路还是没有问题的!
④ 计算机VF编程
1、设有数据库xs.dbf(学号 C(8),姓名 C(8),入学成分 N(3)),编程求出入学总分最高的同学。
答:
此程序只有一句话:
SELECT * FROM xs WHERE 入学成绩 in (SELECT MAX(入学成绩) FROM xs)
2、编一程序,在表xscj.dbf(表结构为:姓名 C(8)、数学 N(3)、语文 N(3)、外语 N(3)、总分 N(3)、平均分 N(4,1)、等级 C(4))中,根据数学、语文、外语成绩,计算每个学生的总分和平均分,并填写等级:平均分在90分以上(含90分)为优秀, 80分以上(含80分)为良好,70分以上(含70分)为中等,60分以上(含60分)为及格,否则为不及格。
答:
此程序只有三句话:
REPLACE ALL 总分 WITH 数学 + 语文 + 外语
REPLACE ALL 平均分 WITH (数学 + 语文 + 外语)/3
REPLACE ALL 等级 WITH IIF(平均分 >= 90, "优秀", IIF(平均分 >= 80, "良好", IIF(平均分 >= 70, "中等", IIF(平均分 >= 60, "及格", "不及格"))))
另:
纠正你或出题者一个错误:
〔等级 C(4)〕,此处宽度必须为六,即:〔等级 C(6)〕,否则〔不及格〕三个字放进去会被截取成〔不及〕!
⑤ vf编程 输出下面图形
1. **
****
******
********
**********
(要求利用do while结构,且循环变量为I)
l=1
DOWHILEl<=5
?REPLICATE("",5-l),REPLICATE("*",l*2)
l=l+1
ENDDO
2.试编程完成如下操作:任意输入一个自然数,如果该数能被3和5整除,则输出信息“该数能同时被3和5整除”,否则,输出信息“重新输入数据”,文件名为“筛选.prg”。
DOWHILE.t.
input"任意输入一个自然数:"ton
IFMOD(n,3*5)=0
?"该数能同时被3和5整除"
exit
ELSE
?"重新输入数据"
ENDIF
ENDDO
RETURN
3、先保存,再继续。
⑥ vf 编程序
是语法错误。
@语句不能这么用啊,display直接显示了,@等于没内容,它显示谁去?
分别用@字段1,@字段2……这样就可以显示了。
⑦ vf编程实例
clear
accept "请输入一个字符串:" to x1
wait "请再输入一个字符:" to x2
s=0
for i=1 to len(x1)
k=substr(x1,i,1)
if k=x2
s=s+1
endif
endfor
?"其中"+x2+"出现共"+alltrim(str(s))+"次"
⑧ 用VF语言编程
10个数已经生成,存在数组中, 你要做的就是找出最大的偶数.
参考代码如下:
for i=1 to 10
if mod(array(i),2)=0 and array(i)>out &&当该数为偶数,且比之前的out大时,才更改out值
out=array(i)
endif
endfor
说明:
第1,2个不是偶数,out仍是-1
第3个数是6,偶数且大于-1, out变成6
第4个是96,偶数且大于6,out变成96
之后虽然有偶数,但是都比96小, 所以out不变