VisualFoxPro程序设计基础实例_第1页
VisualFoxPro程序设计基础实例_第2页
VisualFoxPro程序设计基础实例_第3页
VisualFoxPro程序设计基础实例_第4页
VisualFoxPro程序设计基础实例_第5页
免费预览已结束,剩余8页可下载查看

下载本文档

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

文档简介

1、实用标准文案精彩文档Visual FoxPro程序设计基础实例表文件CJ.DBF情况:学生成绩数据库的表文件cj.dbf结构为:字段名字段类型宽度小数位学号字符型6姓名字符型10英语数值型62高等数学数值型62计算机应用数值型62总分数值型72平均分数值型62建立表文件cj.dbf结构显示如下:表结构:数据记录数最近更新的时间:代码员字段 i 2C:000CJ. DBF61Z/04/04&*息计*段号名别语学篁均分字学姓性英数计平总用 应机分型型型型型型型型 型符符符值值值值值 类字字字蓟数数数数宽度 小数位6ia z&26262627250索引修殍h否否否否否否否否 NU1输

2、入一些学生成绩。姓名|李思女;英语 95.00数学78.001十苴机应用|平均分90.00S 67.67|总分263.00Si囚一_ _01003iieiraiBiiMiwiH'iraiBiMiBie0100401005王五,a I Btra inVI raiMraiH'inaraiBi刘斐毓男:81.。口 :皈 口口97 00女 ;96.00 90.0092.00勇一耘:而相而-&0. 0091.0092. 6T 67767273 一期,irainiaiBiiHiwiBiHrBi*HiBirdBinniiBimaieiniiBiHiBiriniiBiMiBivm278

3、 g iniBiein01006柳细安61 0081.0060.0067 33202.00010Q7懈气男60.00T1.0061.0064. QQ192.00r1±Jn!例2-1计算表CJ.DBF中的平均分和总分的程序set talk offCLOSE ALLUSE c:000CJREPLACE ALL总分WITH英语啖学+计算机应用REPLACE ALL 平均分 WITH 总分/3LIST执行结果为:记录号学号姓名101002李思201003王五301004刘娄401005盛浩501005柳细!60100T懈气即女男女男女男英语额学计篁机应用平均均总分95.00T8.0090何8

4、7.6T263. aoei.oo95. oa97.0091 03273. 0096.00go on92.0092.6T27B.0067.0076 0060.0067.67203. 0061.0061.0060.0067.33202.0060. 00Ti oa61 0064. oa192 00例2-2统计成绩表CJ.DB冲平均分大于90分的所有学生数目。SET TALK OFFCLEARUSE c:000CJM=0SCAN FO好均分90DISPLAYM=M+1ENDSCAN?"总数为:",MUSERETURN执行结果:RM号学号 2 01003记录号学号3 01004王五t

5、生别数学计算机应用至均分总分男81.0095.0097.0091.00273 00姓名.别英语数学计篁机应用平均均总分刘娄9S 00so oa92 6T276. 00总数为:2例2-3统计成绩表CJ.DB冲所有英语大于等于7汾的学生数目。SET TALK OFFUSE C:000CJMCOUNT=0FOR REC=1 TO RECCOUNT() && RECCOUNT()为该库中的记录数GO RECIF 英语75LOOPENDIFDISPLAYMCOUNT=MCOUNT+1ENDFOR?"英语成绩不小于75分的总数为:",MCOUNTUSERETURN执行结

6、果:k 1字号 01002姓名 李思,别英语95.00数学78.00计篁机应用.90. 00平均分BT. ST记录号2学目 01003姬 王五男61.00数学95.00计篁机应用97.00平均分91.00记录号学号姓名t生另U英语数学篁机应用平均分301004刘娄女96.0090.0092.0092.67总分263.00总分273. 00总分278. 00英语成最不小于T5分的总数为:3例2-4显示表CJ.DB冲英语成绩小于9防的学生。SET TALK OFFCLEARUSE CJDO WHILE.T. ( * 或 DO WHILE.NOT.EOF()IF英语=90SKIP(或* LOOP )

7、ENDIFDISPLAYWAT按任一键继续显示."SKIPENDDOUSERETURN记录界一号£4 01003馨数室95.00计篁机应用97 00平均分91.00接任一解墨续显示一记录号学号姓名aa男语数学计苴机应用平均分4 01005盛浩67. D07B, 0060.0067.67接任一键磁雪显示记录号学号t±sn数学讨算机应用平均升5 01006柳细女fil.DG31.0050.0067. 33技任一键继雄显示.记录号学号t生别英语数学计算机应用平均均6 0103T懈气男60 Q071.0061.0064 00执行结果:技任一健继尊显示总分 2T3. 002

8、03. 0033 192.00例2-5对成绩表CJ.DB潼询,若首记录白平均分数大于60分,则显示及格;成绩不及格”否则显 示不及格。SET TALK OFFCLEARUSE C:000CJIF 平均分 60? 姓名+"成绩及格”ELSE?姓名+”成绩不及格”ENDIFUSERETURN执行结果如下:李思成赣及格例2-6对成名表CJ.DBF查询,根据该学生的平均分进行分类优秀 90=平均分优良 80二平均分 90良好 70=平均分80及格 60=平均分70不及格 平均分60程序为:SET TALK OFFCLEARUSE C:000CJDO CASECASE平均分=90? 姓名+&q

9、uot;:成绩优秀"CASE平均分=80? 姓名+ ”:成绩优良”CASE平均分=70? 姓名+ ":成绩良好”CASE平均分=60? 姓名+ ”:成绩及格"OTHERWISE? 姓名+ ”:成绩不及格”ENDCASEUSERETURN执行结果如下:李思 :成虢忧良例2-7 设计5乘5的乘法表set talk offclearx=1do while x=5y=1do while y<=x s=x*y?str(y,1)+"*"+str(x,1)+"="+str(s,2)+”y=y+1 enddo?x=x+1enddo执行

10、结果:i*l 二 12 2*2= 41*3= 3 2*3= & 3+3- 91*4= 4 2*4= 8 3+4=12 4*4=161*5= 5 2*5=10 3*5=15 4*5=2。 5*5=25例2-8 DO CASEENDCASE令的嵌套用法.SET TAlK OFFCLEAR?"1 录入"?"2 查询”?"3修改"?"4打印"ACCEPTS入选择(0-4) : "TO MSELECTDO CASECASE MSELECT="l"DO APP && 录入程序CASE

11、 MSELECT="2"DO QUER &&查询程序CASE MSElECT="3"DO MOD && 修改程序CASE MSELECT="4"CLEAR?"1-打印A类表”?"2-打印B类表”?"3-打印C类表”ACCEPTS入选择(1-3) : "TO MY DO CASECASE MY="1"DO PRINT ACASE MY="2" DO PRINT BCASE MY="3"DO PRINT CE

12、ND CASE例2-9 显示成绩库CJ.DBF中记录号为偶数的前三个学生记录。 SET TALK OFFCLEARUSE C:000CJFOR REC=2 TO 6 STEP 2GO RECDISPLAYSKIP 2ENDFORUSERETURN执行结果:记录号字号姓名2 01003包性别 男英语S1.00数学95.00计篁机应用.97.00平均分91.00总分273. 00记录号学号幽会数学计算机应用平均分蜘4 01005盛浩男67. 00幅.0060.0Q67 67203.00记录号学号姓名幽K男数学计算机应用平均分总分6 01007掘气60.0011.0061 0064 C0192. 0

13、0例2-10 编程计算:S=l! +2! +3!+10!的值。要求用过程求阶乘。SET TALK OFFCLEARPUBLIC TS=0&&FOR N =1 TO 10for n=1 to 10DO JCS=S+TENDFOR? "S=", SSET TALK ONRETURNPROCEDURE JC &&±程放在调用它的上层程序之后PRIVATE S && 这里的S是局部变量,与主程序中的S占用不同的存贮单元T=1FOR S=1 TO NT=T*S && 这里T为N!的值ENDFOR? str(N,

14、2)+"!="+str(T,8)&& ? STR(N , 2)RETURN执行结果:£i-31 =41 = 5J- 6!=81 =91 =10 J =S=2412U72C50404032036200036286004037913例2-11主程序MAIN PR曲调用过程SUBl, SUB2主程序如下:?"#1"DO SUB1?"#2"DO SUB2 ?"#3" RETURN&& 过程 SUB1.PRG口下: PROCEDURE SUB1? ”*1"RETURN&am

15、p;& 过程 SUB2.PRG口下: PROCEDURE SUB2 ?"*2"RETURN执行结果:#!*率*例2-12求职工的平均工资(职工信息档案为:DA.DBF ) clearset talk offuse c:000daaverage all基本工资 to a?"职工平均工资:"+str(a,8,2) useset talk onreturn执行结果:职工平均工资:13M.1T例2-13执行以下程序段:PUBLIC APRIVATE B? "A=",? "B=", B例2-14显示库文件CJ. DB

16、F勺姓名及总分字段,要求用模式符定义显示总分字SET TALK OFFCLEAR use c:000cjDO WHILE .NOT. EOF() ROW()+1,4 SAY"姓名:" ROW(),COL() +1 SAY 姓名 PICTURE"J XXXXXXXX” ROW(),COL() +1 SAY "总分:" ROW(),COL() +1 SAY 总分 PICTURE "999.99”SKIPENDDO执行结果:名名名名名名 二.一 I ,一二 EE.I 姓姓姓姓姓姓李思思分:263 00王五总分:273- 00刘斐总务:2花一

17、 00盛浩总分:203.00柳细总分:2azm懈气总分:192 00例2-15根据下面程序求出结果。set talk offclearx1=4?do while x1>=1x2=1do while x2<x1? x2*x1x2=x2+1enddo?x1=x1-1enddoset talk on执行结果:481236例2-16字母大小写变换程序。set talk offclearaccept "请输入一字符串:"to x i=1s=""do while i<=len(X) s=substr(x,i,1)+s &&s=s+s

18、ubstr(x,i,1) i=i+1 enddo? "X=",upper(x) ? "s=",lower(s) set talk on 执行结果:i宵输入-"字 符串 :ddadmX= DDDUSSS "岫W 腓 s= 1* wssdddd例2-17求1-10的阶乘 set talk offclear i=1 do while.t. k=1 j=1 do while j<i+1 k=k*j j=j+1 enddo ? k i=i+1 if i>10 exit endif enddo return执行结果:126241207

19、2050404Q320 3626603628800 例2-18字符串颠倒程序set talk offx="子女"y=""i=len(x)do while i>=1y=y+substr(x,i-1,2)i=i-2enddo?yreturn执行结果:虫子例2-19计算100以内自然数的和set talk offstore 0 to x,y do while.t.x=x+1y=y+x if x>=100exitendifenddo? "y"+str(y,5)return执行结果:y 5050例 2-20 写数学公式程序:Y=3*

20、X (x > 0), Y=0 (x < 0);set talk offclearinput "请输入X的值"to xif x > 0?"Y的值等于",3*xelse?"Y的值等于",0endif例2-21求三个数的最大数;clearinput "请输入A的值"to Ainput "请输入B的值"to Binput "请输入C的值"to Cif A >=B and A>=C? "MAX=",Aelseif B >=A an

21、d B >=C? "MAX=",Belse? "MAX=", Cendifendif例2-22求三个数的最大数;clearinput "请输入A的值"to Ainput "请输入B的值"to Binput "请输入C的值"to C? max(A,B,C)例2-23求用年月日表示今天。clearxdate=str(year(date(),4)+" 年"xdate=xdate+str(month(date(),2)+" 月"xdate=xdate+ltr

22、im(str(day(date(),2)+” 日 ? xdate例2-24显示课号为C301的记录;set talk offclearuse c:000student.dbfm=0scan for 课号=9301"displaym=m+1endscan?"总数为:",m usereturn执行结果:记录号学号课号分数160101C30198.0记录考学考一号分数3960104C30135.0记录号学号一号分数5970104C30138 0总数为:例2-25统计分数> 80的人数;set talk offclearuse c:000student.dbfn=0scan for 分数 > 80displayn=n+1endscan?"总数为:",nusereturn执行结果:记录号1学号960101一号C301分数96.0记量号朝课号分数39601Q4C301S5.0记录号铝课号分数5A70104C301Sfi.O记录号字号裸号分数6970106C30160.0总数为:4例2-26求100以内奇数的和;set talk offclears=0for i=

温馨提示

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

评论

0/150

提交评论