VFP常见编程实例(免费下载)_第1页
VFP常见编程实例(免费下载)_第2页
VFP常见编程实例(免费下载)_第3页
VFP常见编程实例(免费下载)_第4页
VFP常见编程实例(免费下载)_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、VFP常见编程实例1、1-100的累加* 求1到100的累加值CLEARs=0i=1DO WHILE i<=100s=s+ii=i+1 &&一定记住先累加后循环ENDDO?sRETURN2、阶乘* 求5的阶乘CLEARj=1i=1DO WHILE i<=5j=j*ii=i+1ENDDO?jRETURN3、求阶乘和* 求1至5的阶乘和CLEARs=0i=1j=1DO WHILE i<=5j=j*is=s+ji=i+1ENDDO?sRETURN4、条件定位* 查询定位记录指针在赵伟上CLEARUSE 学生LOCATE FOR 姓名="赵伟"IF

2、 FOUND() DISPLAYELSE CANCELENDIFCONTINUE5、用scan语句查询定位* 用scan语句查询定位记录在赵伟上CLEARSCAN FOR 姓名="赵伟"DISPLAYENDSCANRETURN6、用scan语句扫描符合条件的记录,并显示出来* 把年龄小于30岁的人显示出来CLEARSCAN FOR 年龄<30DISPLAYENDSCANRETURN7、查找男性职工* 查找男性职工CLEARLOCATE FOR 性别="男"DO WHILE FOUND() DISPLAY CONTINUEENDDORETURN* 查

3、找男性职工CLEARLOCATE FOR 性别="男"DO WHILE NOT EOF()DISPLAYCONTINUEENDDORETURN* 查找男性职工CLEARUSE 职员基本信息表LOCATE FOR 性别="男"DO WHILE .t. IF FOUND() then DISPLAY ELSE&&记住最后一个ELSE语句后面不需要条件表达式 CANCELENDIFCONTINUEENDDO* 查找男性职工 set talk offclearopen database 家庭成员管理.dbcuse stu.dbfscan for

4、not eof()if xb="女"skipelsedisplayskipendifendscanclose databaseuseset talk onreturn8、新值换旧值* 有一对新生的兔子,从第三个月开始,每个月出生一对兔子,请问到第十二个月共出生多少对兔子?clearstore 1 to a,bi=3do while i<=12c=a+ba=bb=ci=i+1enddo?"一年共出生兔子:",creturn9、多位整数各个位数相加* 求多位整数各个位数之和CLEARs=0input "请输入一个多位整数:" to

5、aDO WHILE a<>0s=s+MOD(a,10) &&将a取余正好是个位上的数a=INT(a/10) &&将a除10取整正好是除个位之后的数ENDDO?"这个整数的各个位数之和是:",sRETURN10、找100-999之间的“水仙花数”CLEARFOR i=100 TO 999 a=INT(i/100) b=INT(i-100*a)/10) c=i-INT(i/10)*10 IF i=a3+b3+c3 ?i ENDIFENDFORRETURN11、判断一个大于3的数是否为素数CLEARinput "请输入一个数(

6、>=3):" to sf=0i=2DO WHILE i<=INT(SQRT(s) IF MOD(s,i)<>0 i=i+1 LOOP ELSE f=1 EXIT ENDIFENDDO IF f=0 ?str(s,3)+"是素数" ELSE f=1&&这个表达式可有可无,为了省事完全省略也可以。一般最后一个ELSE语句后面不需要表达式 ?str(s,3)+"不是素数" ENDIFRETURN12、求一个班级每个学生的平均成绩* 计算一个班级共三十名学生,每位学生5门功课的平均成绩CLEAR &&am

7、p; 清屏DIMENSION x(30,5) && 定义一个数组变量,r为学生数,i为功课数r=1 && 给30个学生的计数变量r赋初值1DO WHILE r<=30 && 循环30次,以计算出30个学生的平均成绩 s=0 && 为学生一门功课成绩赋初值0 i=1 && 为五门功课计数变量赋初值1 DO WHILE i<=5 && 为一个学生的五门功课成绩累加5次 input "请输入学生的成绩" to x(r,i) s=s+x(r,i) && 成绩累

8、加 i=i+1 && 功课累加 ENDDO && 返回内循环 ?"这名学生的平均成绩是:",s/5 && 显示平均成绩 r=r+1 && 学生累加ENDDO && 返回外循环13、计算圆的面积* 计算圆的面积程序CLEARinput "请输入半径的值" to rinput "请输入pi的值" to pis=pi*r2?"圆的面积是",sRETURN14、将小写字母转换为大写字母NOTE 请将任意输入的一个小写字母转换成大写字母,也就是u

9、pper()函数的程序实现CLEAR && 请屏WAIT "请输入一个小写字母" to x && 交互式输入一个小写字母k=ASC(x) && 将小写字母的ASC码赋值给变量KIF k>=97 AND k<=122 then && 97是小写字母a的ASC码值,122是小写字母z的ASC码值?x,"的大写字母是",CHR(k-32) && 输出大写字母.chr函数是ASC码所对应的字符ELSE WAIT "您输入的不是小写字母" WINDOW

10、TIMEOUT 5 cancelENDIFRETURN && 返回到调用程序15、找出最大数和最小数CLEARinput "请输入一个数:" to xSTORE x TO ma,miFOR i=2 TO 10 &&因为已经输入一个数X,所以循环次数只有9次input "请输入一个数:" to xIF ma<x && ma是变量中存的数,x是刚输入的数ma=xENDIFIF mi>xmi=xENDIFENDFOR?"最大数是:",ma?"最小数是:",miR

11、ETURN16、绝对值函数的实现* 绝对值函数的实现CLEARinput "请输入一个数值" to nIF n>=0?nELSE?-nENDIFCANCEL17、绝对值函数实现的另一种方法* 绝对值函数和另一种实现方法CLEARinput " 请输入一个数值" to n?IIF(n>=0,n,-n)CANCEL18、输出成绩等级* 用DO CASE语句实现:CLEARinput "请输入一个成绩" to cjDO caseCASE cj>=90 dj="优秀"CASE cj>=80 dj=&

12、quot;良好"CASE cj>=60 dj="合格"OTHERWISE dj="不合格"ENDCASE?djRETURN*用IF语句实现:set talk offclearinput "请输入一个成绩:" to sif s>=90 grade="优秀" else if s>=80 grade="良好" else if s>=60 grade="及格" else grade="不及格" endif endifendif?l

13、trim(str(s)+"分对应的等级是:"+gradeset talk onreturn19、求一名学生的平均成绩* 求一个学生5门功课的平均成绩CLEARs=0i=1DO WHILE i<=5input "请输入各门功课的成绩" to xs=s+xi=i+1ENDDO?s/520、用数组的方法,计算一个学生的平均成绩* 用数组保存一个学生五门功课的成绩,然后再计算机其平均成绩CLEARDIMENSION x(5)s=0i=1DO WHILE i<=5input "请输入各门功课的成绩" to x(i)s=s+x(i)i

14、=i+1ENDDO?s/5RETURN21、用do case语句实现符号函数的功能* 请输入一个数,当这个数是负数,就返回-1,当这个数是零,就返回零,当这个数是正数,就返回1CLEARinput "请输入一个数" to nDO CASE CASE n>0 s=1 CASE n=0 s=0 CASE n<0 s=-1ENDCASE?sRETURN22、用一般选择语句实现符号函数的功能* 符号函数的实现CLEARinput "请输入一个数" to nIF n>0 s=1 ELSE IF n=0 s=0 ELSE IF n<0 s=-

15、1 ENDIF ENDIFENDIF?s23、用简单选择语句实现符号函数功能* 符号函数的实现CLEARinput "请输入一个数" to nIF n=0s=0ENDIFIF n>0s=1ENDIFIF n<0s=-1ENDIF?s24、打开数据库和数据表SET talk offCLEARaccept "请输入数据库名" to xOPEN DATABASE &xaccept "请输入数据表名" to yUSE &yLISTuseSET talk offreturn25、显示表中指定信息SET TALK OF

16、FCLEAROPEN DATABASE 时代超越总公司职员信息数据库USE 职员基本信息表WAIT "请输入待查职工的编号(1-3)" TO nIF VAL(n)<1 .or. VAL(n)>3WAIT "输入无效,结束程序运行!" WINDOW timeout 5RETURNELSESTORE "0"+n TO aLIST for "职员编号"=aENDIFCLOSE DATABASESSET TALK ONreturn26、询问后再由用户按(Y/N)键执行的程序实现* 求任意一个数的阶乘CLEARD

17、O WHILE .t.input "请输入一个数" to np=1s=0FOR i=1 TO np=p*is=s+pENDFOR?sWAIT "是否继续计算(Y/N)" TO yn windowIF UPPER(yn)="Y" THEN LOOPELSE EXITENDIFENDDORETURN27、根据exact的设置进行字符串匹配比较* exact设置的变化对取值结果的影响SET exact ON && exact为打开状态,字符精确匹配s="in"+SPACE(2)IF s="in&

18、quot;IF s="in" ?"a"ELSE ?"b"ENDIFELSEIF s="in" ?"c"ELSE ?"d"ENDIFENDIFRETURN28、使一个多位正整数逆序排列CLEARinput "请输入一个整数:" to xDO WHILE x>0y=x%10?yx=INT(x/10)ENDDORETURN29、按编号查找并列出一条记录set talk offclearaccept "请输入数据库名:家庭成员管理:" t

19、o aopen databaseaccept "请输入数据表名:stu:" to buselistwait "请输入一个编号:" to c windows timeout 5if val(c)<=0 or val(c)>4wait "输入的数字不合法,请重新输入一个合法的数字:" to c windows timeout 5elsestore "0"+c to aaalist for bh=aaaendifclose databaseset talk onreturn30、打开一个数据库,并显示其中的表

20、内容set talk offclearaccept "请输入一个数据库名:家庭成员管理.dbc" to xopen databaseaccept "请输入一个数据表名:stu.dbf" to yuselistuseset talk onreturn30、验证密码程序:set talk offclearaccept "请输入密码:" to aaaif aaa="abc"clearwait "欢迎使用本系统!"elsewait "密码错误,程序将在5秒钟退出!" windows

21、timeout 5endifset talk onreturn31、编程求税金set talk offclearinput "请输入营业收入:" to pdo casecase p<800r=0case p=<2000r=0.05case p<5000r=0.08case p>=5000r=0.1endcasex=p*r?"应纳税金为:" , xset talk onreturn32、用三角形列出乘法口诀表:set talk offclearX=1DO WHILE X<=9 Y=1 DO WHILE Y<=X S=X*Y ? STR(Y,1)+"*"+STR(X,1)+"="+STR(S,2)+" " Y=Y+1 ENDDO?X=X+1ENDDOSET TALK ONRETURN33、将变量A、B值互换:a=1b=2a=a+bb=a-ba=a-b?a,b34、找出已知三个数的中间数:INPUT "请输入a 的值:" TO aINPUT "请输入b 的值:" TO bINPUT "请输入c 的值:" TO cIF M

温馨提示

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

评论

0/150

提交评论