VFP程序设计题汇总.docx

上传人:b****6 文档编号:8434602 上传时间:2023-01-31 格式:DOCX 页数:10 大小:212.20KB
下载 相关 举报
VFP程序设计题汇总.docx_第1页
第1页 / 共10页
VFP程序设计题汇总.docx_第2页
第2页 / 共10页
VFP程序设计题汇总.docx_第3页
第3页 / 共10页
VFP程序设计题汇总.docx_第4页
第4页 / 共10页
VFP程序设计题汇总.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

VFP程序设计题汇总.docx

《VFP程序设计题汇总.docx》由会员分享,可在线阅读,更多相关《VFP程序设计题汇总.docx(10页珍藏版)》请在冰豆网上搜索。

VFP程序设计题汇总.docx

VFP程序设计题汇总

Companynumber:

【0089WT-8898YT-W8CCB-BUUT-202108】

 

VFP程序设计题汇总

一.程序设计题汇总

1.通过输入学生的学号(字符型)查找学生,若找到该学生,先输出学号与姓名,然后输出“英语”和“计算机实用技术”成绩。

若找不到该学生输出“查无该生”。

(设表文件“学生信息”满足题目需要)

settalkoff

clear

use学生信息

accept"请输入学生学号:

"toxh

locatefor学号==xh

if!

eof()

学号,姓名

listfiel英语,计算机实用技术for学号=xh

else

"查无该生"

endif

use

2.输入学生成绩,并要求:

成绩小于60分时,输出“不及格”;成绩在60~69分之间时,输出“及格”;成绩在70~79之间时,输出“中”;当成绩在80~89之间时,输出“良”;当成绩在90~100之间时,输出“优”。

settalkoff

clear

input"请输入成绩:

"tocj

docase

casecj>=90

"优秀"

casecj>=80

"良好"

casecj>=70

"中"

casecj>=60

"及格"

casecj<60

"不及格"

otherwise

"数据有误"

endcase

settalkon

3.按学号在“学生信息.dbf”文件中查找并显示指定的记录。

要求可以重复查询,找到则显示该生的记录,找不到则提示“查无此人!

”,按非“Y”、“y”可结束查询。

SETTALKOFF

CLEAR

USE学生信息&&设当前目录下表文件存在

ACCEPT'学号查询吗(Y/N)'TOcx&&循环条件的初始化

DOWHILEcx='Y'.='y'&&大小写均可执行查询

CLEAR

ACCEPT'请输入学号:

'TOxh

LOCATEALLFOR学号=xh&&此处ALL可以缺省,默认为在全部记录查找。

IFEOF()

'查无此人!

'

WAIT

ELSE

DISPLAY

ENDIF

ACCEPT'继续按学号查询吗(Y/N)'TOcx&&修改循环条件

ENDDO

SETTALKON

USE

4.逐条显示“学生信息.dbf”文件中“英语成绩”大于等于75的记录。

方法一:

SETTALKOFF

CLEAR

USE学生信息

DOWHILE!

EOF()

IF英语成绩>=75

DISP

ENDIF

SKIP&&按默认值1向下移动记录指针

ENDDO

USE

SETTALKON

方法二:

SETTALKOFF

CLEAR

USE学生信息

locatefor英语成绩>=75

DOWHILE!

EOF()

display

continue

ENDDO

USE

SETTALKON

5.分别用DO循环和FOR循环求1+2+3+……+36的和值。

用DO循环的写法:

SETTALKOFF

CLEAR

S=0

N=1

DOWHILEN<=36

S=S+N

N=N+1

ENDDO

"1+2+3+……+36的值为:

",S

SETTALKON

用FOR循环的写法:

SETTALKOFF

CLEAR

S=0

FORN=1TO36

S=S+N

ENDFOR

"1+2+3+……+36的和值:

",S

SETTALKON

6.用“SCAN…ENDSCAN循环结构”显示“学生信息.dbf”文件中“英语成绩”大于等于75的记录。

SETTALKOFF

CLEAR

USE学生信息

SCANFOR英语成绩>=75

DISPLAY

ENDSCAN

USE

SETTALKON

7.求当1!

+3!

+5!

+…+n!

的值不超过10的20次幂时的临界值及n的值。

SETTALKOFF

CLEAR

S=1&&初始化存放累加和的变量S为1

STORE1TOT,N&&初始化变量T,N的值为1

DOWHILES<=1E+20

T=T*(N+1)*(N+2)&&从第二项开始,计算每一项阶乘。

S=S+T&&追加每一项阶乘

N=N+2&&下一个奇数

ENDDO

"S=",S-T&&最后一个S由于是多加了一个T后不满足条件,故减去。

"N=",N-2&&最后一个N由于是多加了一个2后不满足条件,故减去。

SETTALKON

8.在程序所在的目录中已有学生表(学生.Dbf)(字段为:

学号,姓名,性别,出生年月,简历,奖学金,照片)。

要求:

显示输出“学生”表中的1975年或以前出生的学生姓名和出生年月。

SETTALKOFF

CLEAR

USE学生

LOCATEFOR出生年月<={^1975-12-31}&&定位满足出生年月的记录

DOWHILE!

EOF()&&如果没有到表尾,显示姓名与出生年月

姓名,出生年月

CONTINUE&&继续指向满足条件的下一条记录

ENDDO

USE

SETTALKON

9.显示输出正整数M(从键盘输入)内的偶数及偶数和。

SETTALKOFF

CLEAR

INPUT"输入一个整数:

"TOM&&输入指定的正整数M的值

S=0&&初始化存放累加和变量S为0

FORP=1TOM

IFINT(P/2)=P/2&&判断P是否是偶数

P

S=S+P&&是偶数就把它累加起来

ENDIF

ENDFOR

S

SETTALKON

10.求解百鸡问题,“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一,百钱百鸡,问鸡翁、母、雏各几何”

note设公鸡、母鸡、小鸡的数量分别为x、y、z。

settalkoff

clear

forx=0to20

fory=0to33

z=100-x-y

if5*x+3*y+z/3=100

"公鸡数","母鸡数","小鸡数"

x,y,z

endif

endfor

endfor

settalkon

11.从键盘任意输入两个整数,求出最小公倍数和最大公约数。

SETTALKOFF

CLEAR

INPUT"输入第一个整数:

"TON

INPUT"输入第二个整数:

"TOM

X=MAX(N,M)&&大的有可能是最小公倍数

FORI=XTOM*N&&如果X不是最小公倍数,M*N一定是公倍数,但不一定是最小公倍数。

IFMOD(I,M)=0ANDMOD(I,N)=0&&在循环控制变量递增的过程中,如果出现能被M和N同时整除(余数为0),则为公倍数。

GBS=I&&把第一次出现的公倍数(最小公倍数)赋给变量“GBS”。

GYS=M*N/GBS&&最大公约数

EXIT&&找到第一个“I”便跳出循环

ENDIF

ENDFOR

"最小公倍数="+ltrim(STR(GBS)),"最大公约数="+ltrim(STR(GYS))

SETTALKON

12.在给定“学生.DBF”表文件中包含有“学号”、“姓名”字段,对学号编制一个抽奖表单。

要求,不能有重复中奖学生。

程序运行时,字号在文本框中显示,用标签显示中奖学生的学号、姓名。

应有“开始”、“抽取”、“退出”控件。

建议表单(Form1)包括的控件是:

一个文本框(Text1)、两个标签(Label1、Label2)、三个按钮(Command1、Command2、Command3)和一个计时器(Timer1)。

 

 

请编写:

(1)表单Form1的Init事件代码:

“学生学号”

(2)“开始”按钮Command1的Click事件代码:

setdeleteon&&隐藏已加入删除标记的记录

(3)“选中”按钮Command2的Click事件代码:

delete

(4)“退出”按钮Command3的Click事件代码:

recallall&&恢复已做删除标记的所有记录

(5)计时器(Timer1)的Timer事件代码:

if!

eof()&&如果不到记录尾

skip&&跳到下一记录,频率由Timer值决定。

Else&&如果已到记录尾

gotop&&跳到第一条记录

endif

13.编制一个表单完成表文件“学生.dbf”内容的只读浏览显示功能;表单初始显示内容为表文件“学生.dbf”的首记录;当按前翻、后翻、首记录、末记录按钮时,表单将自动显示相应记录的内容;当翻至表头或表尾时,将自动设置相应按钮不可访问。

参见下面的表单设计及运行示意图。

 

表单(Form1)的Init(初始化)事件代码

“首记录”(Command1)的Click(单击)事件代码

gotop

“上一记录”(Command2)的Click(单击)事件代码

if!

bof()

skip-1

else

endif

“下一记录”(Command3)的Click(单击)事件代码

if!

eof()

skip

else

endif

“未记录”(Command4)的Click(单击)事件代码

gobottom

14.编制一个显示当前时间的时钟显示界面,要求每秒动态跳动一次,并将表单的背景设置蓝,绿两色自动变换(与时间同步切换),Timer1的Interval属性已在属性窗口中设置完成。

 

请编写计时器(Timer1)的Timer事件代码:

ifval(right(time(),2))%2=0&&如果秒值是2秒的整数倍。

=rgb(0,255,0)&&表单背景为绿色

else

=rgb(0,0,255)&&表单背景为篮色

endif

15.请设计一个右图所示的表单。

表单实现的功能是:

单击字体按钮和颜色按钮,“欢迎使用VFP!

”的字体和颜色会随之改变。

表单(Form1)包括的控件有:

两个命令按钮组(Commandgroup1、Commandgroup2)、一个标签(Label1)。

请写出相应控件的事件代码。

请写出:

(1)命令按钮组Commandgroup1的Click事件代码。

(2)命令按钮组Commandgroup2的Click事件代码。

命令按钮组Commandgroup1的Click事件代码

docase

case=1

case=2

case=3

case=4

endcase

命令按钮组Commandgroup2的Click事件代码

docase

case=1

case=2

case=3

case=4

endcase

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 哲学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1