VF第四章作业解析Word文档下载推荐.docx
《VF第四章作业解析Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《VF第四章作业解析Word文档下载推荐.docx(16页珍藏版)》请在冰豆网上搜索。
SETTALKON
2.若要修改某设备的价格和部门,试编写程序。
USEsb
@5,10SAY"
修改设备的价格和部门"
?
INPUT"
请输入设备号:
TOsbbh
LOCATEFOR编号=sBBH
IFFOUND()
请输入设备价格:
TOsbjg
请输入设备部门:
TOsbbM
REPLACE价格WITHsbjg,;
部门WITHsbbM
DISPLAYFIELDS编号,名称,价格,部门
WAIT"
......请检查修改后的记录,按任意键结束......"
ELSE
@12,20SAY"
无此设备!
ENDIF
3.在某程序中加一段程序,要求能累计程序运行的次数,试写出程序段。
(提示:
可将程序执行次数存储在一个表中)
IFFILE("
Yxcs.dbf"
)
USEyxcs
REPLACE运行次数WITH运行次数+1
CREATETABLEyxcs(运行次数n(5,0))
INSERTINTOyxcs VALUES
(1)
4.编制一个通用的交换记录的程序,即要求对换某表中任意的两个记录。
5输入一个字符串,要求统计出其中的英文字母,空格,数字和其他字符的个数。
6.已知成绩。
DBF有学号,平时,考试,等级等字段,前三个字段已经存有数据,请以平时的20%加考试的80%来评定等级。
90分以上为优,75—89为良,60---74为及格,60分以下为不及格。
10、试编程序,把SB.DBF的内容移入二维数组。
Clear
Usesb
Copytoarraysbsz
”二维数组sbsz存放的数据:
”
Fori=1torecount()
Forj=1to6
sbsz(i,j),space
(2)
Next
Endfor
Use
11、试编写程序,将SB,DBF的记录转置显示。
Usesb
Countton
Fori=1ton
Forj=1to6
@i*2,(j-1)*10+1saysbsz(i,j)function’B’
Wait”………SB.DBF正常显示……….”
Fori=1to6
Forj=1ton
@i*2,(j-1)*10+1saysbsz(j,i)function‘B’
Next
Wait“……….SB.DBF转置显示…………”
12、设计一个计算存款本息的自定义函数。
程序如下:
1、当函数包含在调用程序中,函数定义如下:
Functionvt
Parametersp,i,y
T=p*(1+i*y)
Returnt
2、若自定义函数作为一个独立的文件,函数定义如下:
13,请分别把求结成的功能设计为子程序、过程、自定义函数,并在计算5!
-3!
+7!
时进行调用。
解:
设计为子程序如下
用子程序调用结果如下:
设计为过程如下:
调用结果如下:
设计为函数如下:
14,读程序,写出运行结果。
解:
(1)
运行结果为:
(2)
运行结果如下:
15.编制通讯录管理程序,要求具有如下功能:
(1)纪录输入,修改,插入与删除;
(2)能分别以性命、邮政编码升序显示纪录
(3)能按姓名查询纪录。
*ex4-15.prg
settalkoff
setsafetyoff
clear
use通信录.dbf
text
endtext
dowhile.t.
@8,0clear
@8,34say"
inputspace(34)+"
请输入0~6:
toxz
docase
casexz=1
dosr
casexz=2
doxg
casexz=3
docr
casexz=4
dosc
casexz=5
doxs
casexz=6
docx
casexz=0
wait"
系统将关闭!
windowtimeout1
exit
endcase
enddo
use
settalkon
setsafetyon
proceduresr
记录输入结束后按Ctrl+W存盘."
append
procedurexg
记录修改结束后按Ctrl+W存盘."
go1
browse
procedurecr
将浏览窗口中的光标移到新记录要插入的位置,按ESC继续."
jlh=recno()
ifrecno()<
reccount()
gojlh+1
copytoqyrest
deleterest
pack
appendblank
appendfromqy
deletefileqy.dbf
else
endif
@24,0say"
输入要插入的数据,然后按CTR+W存盘退出."
proceduresc
选定要删除的记录,在按标题栏中的提示,选择F5或F6操作."
pushkeyclear
onkeylabelf5doschf
onkeylabelf6dopk
browsetitle'
通信录'
+'
F5:
删除/恢复F6:
清楚'
procedureschf
ifdeleted()
recall
else
delete
procedurepk
pack
procedurexs
选择F5按姓名拼音顺序显示,选择F6按邮政编码升序显示,按ESC键结束显示."
onkeylabelf5doxmpy
onkeylabelf6doyzbm
F5:
姓名拼音排序F6:
邮政编码升序'
;
noappendnomodify
procedurexmpy
indexon姓名tagxm
btowsetitle'
+按姓名拼音顺序排序'
returntomaster
procedureyzbm
indexon邮政编码tagybm
browsetitle'
按邮政编码升序显示'
procedurecx
flag='
1'
dowhileflag='
@8,5say"
inputspace(5)+"
请输入姓名(可以只输入姓名中的一个或几个字):
toycxm
read
ycxm1=alltrim(ycxm)
locatefor"
&
ycxm1"
$姓名
iffound()
'
按ESC键继续...'
+space(5)+'
ycxm'
资料'
for"
$姓名;
@10,5say"
查无此人!
@20,0clear
@20,5say"
inputspace(5)+'
是否继续查询(Y/N):
toyn
ifupper(yn)="
N"
0'
Enddo