云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > VFP程序设计题汇总 - 图文

VFP程序设计题汇总 - 图文

  • 62 次阅读
  • 3 次下载
  • 2025/5/23 19:07:10

韦集农职业高级中学 VFP程序设计讲义 授课: 解安东

一. 程序设计题汇总 1. 通过输入学生的学号(字符型)查找学生,若 ?\数据有误\endcase 找到该学生,先输出学号与姓名,然后输出“英语”set talk on 和“计算机实用技术”成绩。若找不到该学生输出“查3. 按学号在“学生信息.dbf”文件中查找并显示无该生”。(设表文件“学生信息”满足题目需要) 指定的记录。要求可以重复查询,找到则显示该生的set talk off 记录,找不到则提示“查无此人!”,按非“Y”、“y”clear use 学生信息 accept \请输入学生学号:\locate for 学号==xh if !eof() ?学号,姓名 list fiel 英语,计算机实用技术 for 学号=xh else ?\查无该生\endif use 在 ACCEPT '学号查询吗(Y/N)?' TO cx

&&循环条件的初始化 DO WHILE cx='Y'.OR.cx='y' &&大小写均可执行查询 CLEAR ACCEPT '请输入学号:' TO xh 可结束查询。 SET TALK OFF CLEAR USE 学生信息 &&设当前目录下表文件存 LOCATE ALL FOR 学号=xh &&此处2. 输入学生成绩,并要求:成绩小于60分时,ALL可以缺省,默认为在全部记录查找。 输出“不及格”;成绩在60~69分之间时,输出“及 IF EOF() 格”;成绩在70~79之间时,输出“中”;当成绩在 ?'查无此人!' 80~89之间时,输出“良”;当成绩在90~100之间时,输出“优”。 set talk off clear input \请输入成绩: \do case case cj>=90 ?\优秀\ case cj >=80 ?\良好\ case cj >=70 ?\中\ case cj >=60 ?\及格\ case cj<60 ?\不及格\ otherwise WAIT ELSE DISPLAY ENDIF ACCEPT '继续按学号查询吗(Y/N)?' TO cx &&修改循环条件 ENDDO SET TALK ON USE 4. 逐条显示“学生信息.dbf”文件中“英语成绩”大于等于75的记录。 方法一: SET TALK OFF CLEAR USE 学生信息 DO WHILE !EOF() 第 1 页 共 7 页 韦集农职业高级中学 VFP程序设计讲义 授课: 解安东

IF 英语成绩>=75 DISP ENDIF

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

SET TALK ON 方法二:

SET TALK OFF CLEAR USE 学生信息

locate for 英语成绩>=75 DO WHILE !EOF() display continue ENDDO USE

SET TALK ON

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

用DO循环的写法: SET TALK OFF CLEAR S=0 N=1

DO WHILE N<=36 S=S+N N=N+1 ENDDO

? \ 1+2+3+??+36的值为:\SET TALK ON

用FOR循环的写法: SET TALK OFF

CLEAR S=0

FOR N=1 TO 36 S=S+N ENDFOR

? \??+36的和值:\SET TALK ON

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

SET TALK OFF CLEAR USE 学生信息

SCAN FOR 英语成绩>=75 DISPLAY ENDSCAN USE

SET TALK ON

7. 求当1!+3!+5!+…+n!的值不超过10的20次幂时的临界值及n的值。

SET TALK OFF CLEAR

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

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

DO WHILE S<=1E+20

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

S=S+T &&追加每一项阶乘 N=N+2 &&下一个奇数 ENDDO

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

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

SET TALK ON

第 2 页 共 7 页

韦集农职业高级中学 VFP程序设计讲义 授课: 解安东

8. 在程序所在的目录中已有学生表(学生.Dbf)(字段为:学号,姓名,性别,出生年月,简历,奖学金,照片)。要求:显示输出“学生”表中的1975年或以前出生的学生姓名和出生年月。 SET TALK OFF CLEAR USE 学生 clear for x=0 to 20 for y=0 to 33 z=100-x-y if 5*x+3*y+z/3=100 ?\ 公鸡数\ 母鸡数\ 小鸡数\LOCATE FOR 出生年月<={^1975-12-31} && ?x,y,z 定位满足出生年月的记录 endif DO WHILE !EOF() &&如果没有到表尾,显示姓名与出生年月 ?姓名,出生年月 CONTINUE &&继续指向满足条件的下一条记录 ENDDO USE SET TALK ON 9. 显示输出正整数M(从键盘输入)内的偶数及偶数和。 SET TALK OFF CLEAR endfor endfor set talk on 11. 从键盘任意输入两个整数,求出最小公倍数和最大公约数。 SET TALK OFF CLEAR INPUT \输入第一个整数: \INPUT \输入第二个整数: \X=MAX(N,M) &&大的有可能是最小公倍数 FOR I=X TO M*N &&如果X不是最小公倍数,INPUT \输入一个整数:\ &&输入M*N一定是公倍数,但不一定是最小公倍数。 指定的正整数M的值 IF MOD(I,M)=0 AND MOD(I,N)=0 &&在循S=0 &&初始化存放累加和变量S为0 FOR P=1 TO M IF INT(P/2)=P/2 &&判断P是否是偶数 ?P S=S+P &&是偶数就把它累加起来 ENDIF ENDFOR ?S 环控制变量递增的过程中,如果出现能被M和N同时整除(余数为0),则为公倍数。 GBS=I &&把第一次出现的公倍数(最小公倍数)赋给变量“GBS”。 GYS=M*N/GBS &&最大公约数 EXIT &&找到第一个“I”便跳出循环 ENDIF ENDFOR ? \最小公倍数= \ 最大公SET TALK ON 约数= \10. 求解百鸡问题,“鸡翁一,值钱五;鸡母一,SET TALK ON 值钱三;鸡雏三,值钱一,百钱百鸡,问鸡翁、母、12. 在给定“学生.DBF”表文件中包含有“学号”、雏各几何?” “姓名”字段,对学号编制一个抽奖表单。要求,不note 设公鸡、母鸡、小鸡的数量分别为x、y、z。 能有重复中奖学生。程序运行时,字号在文本框中显示,用标签显示中奖学生的学号、姓名。应有“开始”、set talk off “抽取”、“退出”控件。建议表单(Form1)包括的第 3 页 共 7 页 韦集农职业高级中学 VFP程序设计讲义 授课: 解安东

控件是:一个文本框(Text1)、两个标签(Label1、Label2)、三个按钮(Command1、Command2、Command3)和一个计时器(Timer1)。 请编写: 表单设计界面 码: recall all &&恢复已做删除标记的所有记录 thisform.release (5) 计时器(Timer1)的Timer事件代码: if !eof() &&如果不到记录尾 skip &&跳到下一记录,频率由Timer值决定。 Else &&如果已到记录尾 go top &&跳到第一条记录 endif thisform.text1.value=alltrim(学号) &&显示学生单击“选中”界面 的学号 thisform.refresh 13. 编制一个表单完成表文件“学生.dbf”内容this.text1.value=\学生学号\ &&文本框的只读浏览显示功能;表单初始显示内容为表文件“学生.dbf”的首记录;当按前翻、后翻、首记录、显示初值“学生学号” 末记录按钮时,表单将自动显示相应记录的内容;当this.label2.visible=.f. &&标签label2翻至表头或表尾时,将自动设置相应按钮不可访问。不可见 参见下面的表单设计及运行示意图。 this.timer1.enabled=.f. &&计时器 timer1不可用 this.timer1.interval=10 &&计时 器时间间隔为10/1000秒(即0.01秒) (2) “开始”按钮Command1的Click事件代 码: set delete on &&隐藏已加入删除标记的记 录 表单(Form1)的Init(初始化)事件代码 thisform.timer1.enabled=.t. &&使计时器可thisform.command1.enabled=.f. 用 thisform.command2.enabled=.f. thisform.label2.visible=.f. &&标签label2不可见 (3) “选中”按钮Command2的Click事件代码: thisform.timer1.enabled=.f. thisform.label2.caption=\中奖学生是:学号 \ 姓名\姓名 thisform.label2.visible=.t. delete (4) “退出”按钮Command3的Click事件代“首记录”(Command1)的Click(单击)事件代码 go top thisform.command1.enabled=.f. thisform.command2.enabled=.f. thisform.command3.enabled=.t. thisform.command4.enabled=.t. thisform.refresh “上一记录”(Command2)的Click(单击)事(1) 表单Form1的Init事件代码: 第 4 页 共 7 页

搜索更多关于: VFP程序设计题汇总 - 图文 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

韦集农职业高级中学 VFP程序设计讲义 授课: 解安东 一. 程序设计题汇总 1. 通过输入学生的学号(字符型)查找学生,若 ?\数据有误\endcase 找到该学生,先输出学号与姓名,然后输出“英语”set talk on 和“计算机实用技术”成绩。若找不到该学生输出“查3. 按学号在“学生信息.dbf”文件中查找并显示无该生”。(设表文件“学生信息”满足题目需要) 指定的记录。要求可以重复查询,找到则显示该生的set talk off 记录,找不到则提示“查无此人!”,按非“Y”、“y”clear use 学生信息 accept \请输入学生学号:\locate for 学号==xh if !eof() ?学号,姓名 list fiel 英语,计算机实用技

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com