编程练习(1) FoxproForWindowshttp://cc.synu.edu.cn
FoxPro For Windows http://cc.synu.edu.cn 1 编程练习(1)
【编程1】统计CK库中“总分”(N型字段)分数最高的人 数。 ZEidx 总分记录号 SET TALK OFF 4564 USE CJK INDEX ON总分TOZF 47824 GO BOTTOM 48813 JG=总分 48828 COUNT TO ABC FOR总分=JG48840 ?“总分最高的人数是:",ABC USE SET TALK ON FoxproForWindowshttp://cc.synu.edu.cn 2
FoxPro For Windows http://cc.synu.edu.cn 2 【编程1】统计CJK库中“总分”(N型字段)分数最高的人 数。 SET TALK OFF USE CJK INDEX ON 总分 TO ZF GO BOTTOM JG=总分 COUNT TO ABC FOR 总分=JG ?“总分最高的人数是:”,ABC USE SET TALK ON 总分 记录号 456 4 …… 478 24 …… 488 13 488 28 488 40 Zf.idx
【编程2】统计数据库文件 xsk.dbf中所有英语通过的人数 并依次输出这些学生的记录,其中“英语通过”字段为逻辑 型 SET TALK OFF USE XSK 逻辑型字我引用 ⅰ=0 为真<字段名> SCAN FOR英语通过为假not<字段名> i=i+1 DISP ENDSCAN i USE SET TALK ON FoxproForWindowshttp://cc.synu.edu.cn 3
FoxPro For Windows http://cc.synu.edu.cn 3 【编程2】统计数据库文件xsk.dbf中所有英语通过的人数, 并依次输出这些学生的记录,其中“英语通过”字段为逻辑 型。 SET TALK OFF USE xsk i=0 SCAN FOR 英语通过 i=i+1 DISP ENDSCAN ? i USE SET TALK ON 逻辑型字段引用 为真 <字段名> 为假 .not. <字段名>
编程3】统计并显示 student数据库中男生人数,库中有字 段sno(c,6),sex(c2)。 SET TALK OFF SET TALK OFF USE Student USE student n=0 DO WHILE NOT.EOFO i=0 Fsex=“男" SCAN FOR SEX=男 DISP =i+1 n=n+1 DISP ENDIF ENDSCAN SKIP ENDDO ?n USE USE SET TALK ON RETURN FoxproForWindowshttp://cc.synu.edu.cn
FoxPro For Windows http://cc.synu.edu.cn 4 【编程3】统计并显示student数据库中男生人数,库中有字 段sno(c,6),sex(c,2)。 SET TALK OFF USE student n=0 DO WHILE .NOT.EOF() IF sex=“男" DISP n=n+1 ENDIF SKIP ENDDO ? n USE RETURN SET TALK OFF USE student i=0 SCAN FOR SEX=‘男’ i=i+1 DISP ENDSCAN ? i USE SET TALK ON
编程4】利用循环和分支结构实现按编号删除 student库中记录。库中有字段:编号(c,6),姓名(c,8)。 SET TALK OFF USE STUDENT NDE ON编号TObh DO WHILE T ACCEPT"请输入要删除记录的编号:"TObh SEEK bh IF FOUNDO DELE ELSE ?"查无此人!" ENDIF WAT"是否继续删除(Y/N)?"TOk IF UPPER(k)=N EXIT ENDIF ENDDO PACK SET TALK ON FoxproForWindowshttp://cc.synu.edu.cn 5
FoxPro For Windows http://cc.synu.edu.cn 5 【编程4】利用循环和分支结构实现按编号删除 student库中记录。库中有字段:编号(c,6),姓名(c,8)。 SET TALK OFF USE STUDENT INDE ON 编号 TO bh DO WHILE .T. ACCEPT "请输入要删除记录的编号:" TO bh SEEK bh IF FOUND() DELE ELSE ? "查无此人!" ENDIF WAIT " 是否继续删除(Y/N)?" TO k IF UPPER(k)="N" EXIT ENDIF ENDDO PACK SET TALK ON