FOXPRO的作业问题~

来源:百度知道 编辑:UC知道 时间:2024/06/30 00:32:41
XS表中登记着某年级学生某次考试的成绩,试编程显示出每班成绩最高者的姓名、性别和成绩。(在244服务器中已有XS表)。
缴交作业时,请把程序文件(\.prg文件)或表单文件(.scx文件和.sct文件)以及数据表文件(xs.dbf)文件压缩成一文件(文件名字为你的学号+姓名)
记录号 学号 班别 姓名 性别 考试成绩
1 L20061001 1 李大豪 男 612
2 L20061002 1 陈小鲁 男 598
3 L20061003 1 琐萍 女 600
4 L20061004 1 邬彬辉 男 624
5 L20061005 1 胡小芳 女 576
6 L20062001 2 林好勇 男 480
7 L20062002 2 孔祥娜 女 634
8 L20062003 2 李胜利 男 643
9 L20063001 3 冯晓强 男 612
10 L20063002 3 黄小国 男 589
11 L20063003 3 林丽婷 女 602
12 L20063004 3 张思军 男 641
13 L20063005 3 韩良珍 女 580
14 L20064001 4 毛思彬 男 592
15 L20064002 4 方小卿 女 600
16 L20064003 4 洪成功 男 613
问题补充:要生成程序文件(.prg文件)或表单文件(.scx文件和.sct文件)
试过了貌似都不行耶……
答对追加悬赏~~

去最大值.prg

clear
USE xs
n=0
GO top
DO while !EOF()
n=n+1
SKIP
ENDDO
以上代码算出一共有n条记录
DIMENSION a(n) 建立个数组,进行成绩比大小
GO top
FOR i=1 to n
a(i)=cj 成绩字段cj写进数组
skip
ENDFOR

FOR j=1 to n-1
IF a(j)>a(j+1) 数组比大小,取出最大
nmax=a(j)
a(j)=a(j+1)
a(j+1)=nmax
ENDIF
ENDFOR
LOCATE for a(j)=cj 定位记录指针
?xh,cj 打印记录

测试通过了才贴出来得
xh为表xs成绩字段
cj为成绩字段
把以上代码写进prg
运行即可得出最大成绩记录
最后一行?你要显示得字段即可

如果不会,先回去补基础
把中文注释全部删除

去最大值.prg

clear
USE xs
n=0
GO top
DO while !EOF()
n=n+1
SKIP
ENDDO

DIMENSION a(n)
GO top
FOR i=1 to n
a(i)=成绩
skip
ENDFOR

FOR j=1 to n-1
IF a(j)>a(j+1)
nmax=a(j)
a(j)=a(j+1)
a(j+1)=nmax
ENDIF
ENDFOR
LOCATE for a(j)=成绩 <