VFP程序设计题汇总_第1页
VFP程序设计题汇总_第2页
VFP程序设计题汇总_第3页
VFP程序设计题汇总_第4页
VFP程序设计题汇总_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、韦集农职业高级中学 vfp程序设计讲义 授课: 解安东一 程序设计题汇总1. 通过输入学生的学号(字符型)查找学生,若找到该学生,先输出学号与姓名,然后输出“英语”和“计算机实用技术”成绩。若找不到该学生输出“查无该生”。(设表文件“学生信息”满足题目需要)set talk offclear use 学生信息 accept 请输入学生学号: to xhlocate for 学号=xhif !eof() ?学号,姓名 list fiel 英语,计算机实用技术 for 学号=xhelse ?查无该生endifuse2. 输入学生成绩,并要求:成绩小于60分时,输出“不及格”;成绩在6069分之间时

2、,输出“及格”;成绩在7079之间时,输出“中”;当成绩在8089之间时,输出“良”;当成绩在90100之间时,输出“优”。set talk offclear input 请输入成绩: to cjdo case case cj=90 ?优秀 case cj =80 ?良好 case cj =70 ?中 case cj =60 ?及格 case cj=75 disp endif skip &按默认值1向下移动记录指针enddouseset talk on方法二:set talk offclearuse 学生信息locate for 英语成绩=75do while !eof() display c

3、ontinueenddouseset talk on5. 分别用do循环和for循环求1+2+3+36的和值。用do循环的写法:set talk offclears=0n=1do while n=75 displayendscanuseset talk on7. 求当1!+3!+5!+n!的值不超过10的20次幂时的临界值及n的值。set talk offclears=1&初始化存放累加和的变量s为1store 1 to t,n&初始化变量t,n的值为1do while s=1e+20 t=t*(n+1)*(n+2) &从第二项开始,计算每一项阶乘。 s=s+t &追加每一项阶乘 n=n+2

4、&下一个奇数enddo?s=,s-t&最后一个s由于是多加了一个t后不满足条件,故减去。?n=,n-2 &最后一个n由于是多加了一个2后不满足条件,故减去。set talk on8. 在程序所在的目录中已有学生表(学生.dbf)(字段为:学号,姓名,性别,出生年月,简历,奖学金,照片)。要求:显示输出“学生”表中的1975年或以前出生的学生姓名和出生年月。set talk offclearuse 学生 locate for 出生年月=1975-12-31 &定位满足出生年月的记录do while !eof() &如果没有到表尾,显示姓名与出生年月 ?姓名,出生年月 continue &继续指向

5、满足条件的下一条记录enddouseset talk on9. 显示输出正整数m(从键盘输入)内的偶数及偶数和。set talk offclearinput 输入一个整数: to m &输入指定的正整数m的值s=0 &初始化存放累加和变量s为0for p=1 to m if int(p/2)=p/2 &判断p是否是偶数 ?p s=s+p&是偶数就把它累加起来 endifendfor?sset talk on10. 求解百鸡问题,“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一,百钱百鸡,问鸡翁、母、雏各几何?”note 设公鸡、母鸡、小鸡的数量分别为x、y、z。set talk offclea

6、rfor x=0 to 20 for y=0 to 33 z=100-x-y if 5*x+3*y+z/3=100 ? 公鸡数, 母鸡数, 小鸡数 ?x,y,z endif endforendforset talk on 11. 从键盘任意输入两个整数,求出最小公倍数和最大公约数。set talk offclearinput 输入第一个整数: to ninput 输入第二个整数: to mx=max(n,m) &大的有可能是最小公倍数for i=x to m*n &如果x不是最小公倍数,m*n一定是公倍数,但不一定是最小公倍数。 if mod(i,m)=0 and mod(i,n)=0 &在循

7、环控制变量递增的过程中,如果出现能被m和n同时整除(余数为0),则为公倍数。 gbs=i &把第一次出现的公倍数(最小公倍数)赋给变量“gbs”。 gys=m*n/gbs &最大公约数exit &找到第一个“i”便跳出循环 endifendfor? 最小公倍数= +ltrim(str(gbs), 最大公约数= +ltrim(str(gys)set talk on12. 在给定“学生.dbf”表文件中包含有“学号”、“姓名”字段,对学号编制一个抽奖表单。要求,不能有重复中奖学生。程序运行时,字号在文本框中显示,用标签显示中奖学生的学号、姓名。应有“开始”、“抽取”、“退出”控件。建议表单(for

8、m1)包括的控件是:一个文本框(text1)、两个标签(label1、label2)、三个按钮(command1、command2、command3)和一个计时器(timer1)。请编写:单击“选中”界面表单设计界面(1) 表单form1的init事件代码:this.text1.value=学生学号 &文本框显示初值“学生学号”this.label2.visible=.f. &标签label2不可见this.timer1.enabled=.f. &计时器timer1不可用erval=10 &计时器时间间隔为10/1000秒(即0.01秒)(2) “开始”按钮com

9、mand1的click事件代码:set delete on &隐藏已加入删除标记的记录thisform.timer1.enabled=.t. &使计时器可用thisform.label2.visible=.f. &标签label2不可见(3) “选中”按钮command2的click事件代码:thisform.timer1.enabled=.f. thisform.label2.caption=中奖学生是:学号 + thisform.text1.value+ 姓名+姓名thisform.label2.visible=.t. delete (4) “退出”按钮command3的click事件代码

10、:recall all &恢复已做删除标记的所有记录thisform.release (5) 计时器(timer1)的timer事件代码:if !eof() &如果不到记录尾 skip &跳到下一记录,频率由timer值决定。else &如果已到记录尾 go top &跳到第一条记录endifthisform.text1.value=alltrim(学号) &显示学生的学号thisform.refresh13. 编制一个表单完成表文件“学生.dbf”内容的只读浏览显示功能;表单初始显示内容为表文件“学生.dbf”的首记录;当按前翻、后翻、首记录、末记录按钮时,表单将自动显示相应记录的内容;当翻

11、至表头或表尾时,将自动设置相应按钮不可访问。参见下面的表单设计及运行示意图。表单(form1)的init(初始化)事件代码mand1.enabled=.f.mand2.enabled=.f.“首记录”(command1)的click(单击)事件代码 go top mand1.enabled=.f. mand2.enabled=.f. mand3.enabled=.t. mand4.enabled=.t.thisform.refresh“上一记录”(command2)的click(单击)事件代码if !bof() skip -1 mand3.enabled=.t. mand4.enabled=.

12、t.else mand1.enabled=.f. mand2.enabled=.f.endifthisform.refresh“下一记录”(command3)的click(单击)事件代码if !eof() skip mand1.enabled=.t. mand2.enabled=.t.else mand3.enabled=.f. mand4.enabled=.f.endifthisform.refresh“未记录”(command4)的click(单击)事件代码 go bottom mand4.enabled=.f. mand3.enabled=.f. mand1.enabled=.t. ma

13、nd2.enabled=.t.thisform.refresh表单设计界面表单运行界面14. 编制一个显示当前时间的时钟显示界面,要求每秒动态跳动一次,并将表单的背景设置蓝,绿两色自动变换(与时间同步切换),timer1的interval属性已在属性窗口中设置完成。请编写计时器(timer1)的timer事件代码:thisform.text1.value=time() &使文本框显示系统时间if val(right(time(),2)%2=0 &如果秒值是2秒的整数倍。 thisform.backcolor=rgb(0,255,0) &表单背景为绿色else thisform.backcolo

14、r=rgb(0,0,255) &表单背景为篮色endif15. 请设计一个右图所示的表单。表单实现的功能是:单击字体按钮和颜色按钮,“欢迎使用vfp!”的字体和颜色会随之改变。表单(form1)包括的控件有:两个命令按钮组(commandgroup1、commandgroup2)、一个标签(label1)。请写出相应控件的事件代码。请写出:(1)命令按钮组commandgroup1的click事件代码。(2)命令按钮组commandgroup2的click事件代码。命令按钮组commandgroup1的click事件代码do case case this.value=1 thisform.la

15、bel1.fontname=隶书 case this.value=2 thisform.label1.fontname=楷体_gb2312 case this.value=3 thisform.label1.fontname=黑体 case this.value=4 thisform.label1.fontname=仿宋_gb2312endcase命令按钮组commandgroup2的click事件代码do case case this.value=1 thisform.label1.forecolor=rgb(255,0,0) case this.value=2 thisform.label

16、1.forecolor=rgb(0,0,255) case this.value=3 thisform.label1.forecolor=rgb(0,255,0) case this.value=4 thisform.label1.forecolor=rgb(255,255,0)endcase例8 键盘中输入10个数,然后找出其中的最大值和最小值。clear input “请输入一个数:” to a store a to ma, mi for i=2 to 10input “请输入一个数:” to aif maa mi=aendif endfor? “最大值:” , ma ? “最小值:” ,

17、 mireturn 例9 判断一个自然数是否为质数set talk offinput “请输入一个大于1的自然数:” to nk=0 &k=0 代表是质数k=1代表不是质数j=2do while jnif mod(n,j)0 j=j+1 loopelse k=1 exitendif enddo if k=0 ? str (n)+“质数”eles ? str(n)+“不是质数”endif set talk on return例10 求1-100之间的奇数和s=0for n=1 to 99 step 2s=s+nendfor ? “1-100之间的奇数和是:”, sreturn小红今年12岁,她的

18、父亲比她大20岁。编程计算几年后她父亲的年龄恰好比她大一倍,那时他们二人各是多少岁?*h表示小红的年龄,f表示她父亲的年龄。set talk offh=12f=h+20n=0do while 2*hf f=f+1 h=h+1 n=n+1 enddo?str(n)+”年后父亲”+str(f)+”岁, 小红”+str(h)+”岁”set talk onretrun公鸡每只5元,母鸡每只3元,小鸡每3只1元。如果用100元买100只鸡,问公鸡、母鸡、小鸡各有多少只? 方法1:设公鸡x只、母鸡y只、小鸡z只set talk offx=0do while x=100y=0do while y100z=100-x-yif 5*x+3*y+z/3=100? “公鸡=”+str(x,2)+”母鸡=”+str(y,2)+”小鸡=”+str(z,2)endify=y+1enddox=x+1enddoset talk on return方法二、set talk offx=0do while x=20y=0do while y33z=100-x-yif 5*x+3*y+z/3=100? “公鸡=”+str(x,2)+”母鸡=”+str(y,2)+”小鸡=”+str(z,2)end

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论