关于FoxPro问题,谁能具体解释一下这两个题啊,小弟万分感谢了

来源:百度知道 编辑:UC知道 时间:2024/05/28 09:15:53
FoxPro数据库文件"教师.DBF",包含姓名、职称、任课等数据项,现输入给定职称后,显示此职称教师姓名并输入他担任的课程,然后继续处理此职称的下一个教师,直至处理完毕。

SET TALK OFF
USE 教师
INDEX ON 职称 TO ZCH
K=0
ACCEPT ′输入职称′ TO ZCH
ZCH=LTR1M(TR1M(ZCH))
SEEK ZCH
DO WHILE .NOT. EOF() .AND.职称=ZCH
K=K+1
@K,1 SAY 姓名
@K,11 SAY ′担任课程′ GET 任课
READ
SKIP
ENDDO
IF K=0
?〃无此职称教师〃
ENDIF
USE
SET TALK ON

2、在人事档案数据库RSDA.DBF中随机查询某人,执行程序后如果用户输入的职工姓名存在,显示所有内容。否则继续查询或关闭数据库退出程序。
SET TALK OFF
USE RSDA
DO WHILE .T.
ACCEPT “请输入姓名:” TO NAME
LOCATE FOR 姓名=NAME
IF FOUND()
DO WHILE .NOT.EOF()
DISPLAY
WAIT “是找此人吗?〈Y/N〉” TO PT
IF UPPER(PT)=’Y’
EXIT
ELSE
CONTINUE
ENDIF
ENDDO
ELSE
? “查无此人”
ENDIF
WAIT “还继续查询吗?〈Y/N〉” TO PT1
IF UPPER(PT1)#’Y’
EXIT
ENDIF
ENDDO
USE
SET TALK ON
我就是整个都明白啊,主要是我就没学过这个,哪位高人能整

你哪里不明白啊???
文字写的很清楚啊!!已经把程序的功能说的很清楚了啊???

SET TALK OFF 关闭交互模式
USE 教师 打开"教师"数据库
INDEX ON 职称 TO ZCH 以"职称"为关键字段,建立索引数据库ZCH,并按字母顺序排序(这是索引库的功能)
K=0 变量K,为屏幕输出的行坐标,先定义为0
ACCEPT ′输入职称′ TO ZCH 变量ZCH为屏幕输入,ACCEPT为命令:键盘输入数据并赋值给指定变量
ZCH=LTR1M(TR1M(ZCH)) LTRIM.....为命令,去掉输入过程中产生的空格
SEEK ZCH 以索引名字定位记录,就是说查询输入的"职称"与之符合的记录并将指针定位
若没有符合的记录,则指针定位于文件尾,下面的循环无效!

DO WHILE .NOT. EOF() .AND.职称=ZCH do while...为循环结构的开始语句,这里含义:非文件尾且字段"职称"=ZCH
K=K+1 以下为屏幕输出符合条件的记录的姓名字段
@K,1 SAY 姓名
@K,11 SAY ′担任课程′ GET 任课 这里为屏幕输入,与上面的ACCEPT是一个功能
READ