小弟才大一,复习时遇到不明白的VFP问题,望各位大虾直接
题目有点小白而且较长,望各位大侠体谅求解答&&()中的疑问,共19个问题
题目目的:用学生表查点东西
set talk off
clear
use 学生表
do while .t.
accept "请输入要查询的字段名:" to zdm
if type(zdm)<>"C"
?"输入的字段类型错误,请重新输入"
loop
endif
accept "请输入查询字段所对应的查询内容:" to nr
locate for zdm=nr 改为 locate for &zdm=nr &&(1.&在这里是什么意思丫,zdm和nr不都是字符型嘛)
do while !eof()
disp
wait
continue
enddo
wait "还要继续查询吗(y/n)" to yn
if upper(yn)="N"
loop 改为 exit
endif
enddo
题目目的:判断素数
set talk off
clear
input"请输入一个数:"to m
for i=2 to m-1 &&(2.为什么这里m-1可以,填m时也可以)
if mod(m,i)=0
exit
endif
endfor
if m=i
?str(m)+"是素数"
else
?str(m)+"不是素数"
endif
set talk on
题目目的:查看指定的表文件(表文件从键盘输入)
SET TALK OFF
CLEAR
ACCEPT "请输入要显示的表名(扩展名请省略)" TO BM
bm=allt(bm) &&(3.它这是在干什么涅?)
bm=bm+”.dbf”
IF FILE(BM) &&(4.它这是在干什么涅?)
use &BM &&(5.它这是在干什么涅?)
BROWSE
ELSE
MESSAGEBOX("指定表不存在!")
ENDIF
USE
SET TALK ON
题目目的:编写一个自定义函数dz,能将输入的英文字符串中的空格删去,然后倒置输出,指定输入“a b c e f ”,输出“fedcba”
set talk off
accept"请输入英文字符串" to x
ch=dz(x)
?"原始字符串:",x
?"去掉空格,倒置输出后的结果:",ch
USE DATAOUT
appe blank
REPL jg WITH ch
use
func dz
para a
ch=space(0)
l=len(a)
for i=l to 1 step -1
ss=subs(x,i,1)
if ss!=space(1) &&(6.它这是在干什么涅?)
ch=ch+ss &&(7.它这是在干什么涅?)
endif
endfor
return
endfunc
题目目的:将给定的正整数分解因式,并输出各个质子因子,如24的因子有:2、2、2、3
set talk off
clear
input "请输入一个正整数m:" to m
?alltrim(str(m,19))+"的质数因子有:" &&( 8.alltrim(str(m,19)是在干什么涅?)
i=2
do while i<=m
if mod(m,i)=0
??str(i,6)
m=int(m/i)
loop
endif
i=i+1
题目目的:编制一个表单完成表文件“学生。dbf”内容的查询显示功能
Form1的init事件:
index on 班级 to x unique &&(9.它这是在干什么涅?)
scan
(班级) &&(10.它这是在干什么涅?)
endscan
set index to (ps:只是解答的一部分)
题目要求:将student。dbf(有字段:number,name,sex,birthday)和score。dbf(有字段:number,degree)一一关联,然后让年龄18岁的学生的成绩(degree)增加2分,最后显示全体学生的学号、姓名、成绩。
Set talk off
Clear
Select 1
Use student exclusive
Index on number tag number &&(11.它这是在干什么涅?)
Select 2
Use score exclusive
Set relation to number into a &&(12.它这是在干什么涅?)
*******found*******
Replace degree with degree+2 for year(date())-year(a.Birthday)=18
List number, a->name,degree
Set relation to
Close all
Set talk on
题目目的:利用“学生成绩表。dbf”,当在列表框中选择一个学生姓名后,显示该学生的总分及排名。
导入数据环境list1的rowsource 学生成绩表.姓名 rowsourcetype 2-别名
List1的click事件
thisform.text1.value=数学+英语+计算机
use 学生成绩表
go top
for i=1 to RECCOUNT() &&(13.它这是在干什么涅?)
go i &&(14.它这是在干什么涅?)
a=thisform.text1.value
p=1
go top
do while !eof()
if a<数学+英语+计算机
p=p+1
endif
skip
enddo
go i &&(15.它这是在干什么涅?)
thisform.text2.value=p
endfor
题目目的:
备份四个表文件sco1.dbf sco2.dbf sco3.dbf sco4.dbf
NH=str(year(date()),4)
for i=1 to 4
BM=”sco”+str(i,1) &&(16.它这是在干什么涅?)
NBM=NH+BM &&(17.它这是在干什么涅?)
use BM &&(18.它这是在干什么涅?)
copy to NBM &&(19.它这是在干什么涅?)
endfor
[ 本帖最后由 baby2008mnp 于 2011-6-11 21:59 编辑 ]