您现在的位置: 汕头自考网 >> 串讲笔记 >> 工学类 >> 正文
  • 365网友提供计算机信息管理试题
  • 发布日期时间:2007-1-14  来源:网络   点击数:  作者:佚名
SE KCCJ
  
  INDEX ON XH TO KCCJID
  
  SELECT A
  
  USE ST
  
  ? '学号'+SPACE(4)+'姓名'+SPACE(4)+'平均成绩'
  
  SET RELATION TO XH INTO KCCJ
  
  SCAN
  
  SELECT KCCJ
  
  AVERAGE CJ TO PCJ WHILE XH=ST->XH
  
  SELECT ST
  
  ? XH+SPACE(4)+XM+SPACE(4)+STR(PCJ,3)
  
  ENDSCAN
  
  SET RELATION TO
  
  CLOSE ALL
  
  SET TALK ON
  
  RETURN
  
  6.现已存在两个数据库,学生信息数据库ST.DBF,其字段有:
  
  XH (学号,字符型) ,?XM (姓名,字符型) ,?DZ (地址,字符型)
  
  成绩数据库CJ.DBF,其字段有:
  
  XH (学号,字符型) , SJK (数据库,数值型) , GLXX (管理信息,数值型)
  
  按下列要求编写程序文件P13.PRG ,?其功能是从键盘输入一姓名,?在ST.DBF和CJ.DBF
  
  中查找该学生的成绩,
  
  若找不到,则显示“查无此学生”。
  
  若查找到,则在屏幕中按下列格式显示该学生的成绩:
  
  学号?姓名?数据库?管理信息
  
  XXXX?XXX?XX?XX
  
  「解答」
  
  将库ST作为当前库,学号XH作为主键,输入被查找的学生姓名,保存在变量MXM中。
  
  在库ST中进行查找,当找到时,将用该学生的学号XH再次作为查找对象,在库CJ中,
  
  对外部键XH查找所对应的记录,这样就可以在库CJ中查到了该学生的SJK及GLXX成绩。
  
  用命令MODIFY COMMAND P13?来建立程序文件P13.PRG ,参考程序如下:
  
  SET TALK OFF
  
  CLEAR
  
  CLEAR ALL
  
  SELECT A
  
  USE ST
  
  ACCEPT '请输入姓名' TO MXM
  
  LOCATE FOR XM=ALLTRIM(MXM)
  
  IF FOUND()
  
  SELECT B
  
  USE CJ
  
  LOCATE FOR XH=ST->XH
  
  SELECT A
  
  ? '学号'+SPACE(4)+'姓名'+SPACE(4)+'数据库'+SPACE(4)+'管理信息'
  
  ? XH+SPACE(4)+XM+SPACE(4)+STR(CJ->SJK,3)+SPACE(4)+STR(CJ->GLXX,3)
  
  ELSE
  
  ? '查无此人'
  
  ENDIF
  
  CLOSE ALL
  
  SET TALK ON
  
  RETURN
  
  当然,如果按主键XH将ST与CJ进行关联,只需将上述程序修改一下即可,参考程序如下:
  
  SET TALK OFF
  
  CLEAR
  
  CLEAR ALL
  
  SELECT B
  
  USE CJ
  
  INDEX ON XH TO CJID
  
  SELECT A
  
  USE ST
  
  SET RELATION TO XH INTO CJ
  
  ACCEPT '请输入姓名' TO MXM
  
  LOCATE FOR XM=ALLTRIM(MXM)
  
  IF FOUND()
  
  ? '学号'+SPACE(4)+'姓名'+SPACE(4)+'数据库'+SPACE(4)+'管理信息'
  
  ? XH+SPACE(4)+XM+SPACE(4)+STR(CJ->SJK,3)+SPACE(4)+STR(CJ->GLXX,3)
  
  ELSE
  
  ? '查无此人'
  
  ENDIF
  
  SET RELATION TO
  
  CLOSE ALL
  
  SET TALK ON
  
  RETURN
  
  7.现已存在两个课程数据库KC1.DBF和KC2.DBF?(内容不完全相同) ,它们具有相同的结构,
  
  其字段有:?KCM (课程名,字符型) ,?XS (学时数,数值型) ,?ZL (专业,字符型)
  
  按下列要求编写程序文件P14.PRG,其功能为查找并显示同时出现在库KC1和库KC2中
  
  的课程名KCM .
  
  「解答」
  
  将库KC1作为当前库,把库KC2的全部记录添加到KC1的尾部,再按课程名KCM进行索引,
  
  这样可以按课程名不相同的分类集中在一起。?然后,再统计每一类课程名的数量TJ .
  
  若TJ=2 ,则说明了该类课程名是同时出现在两个数据库中。
  
  用命令MODIFY COMMAND P14?来建立程序文件P14.PRG ,参考程序如下:
  
  SET TALK OFF
  
  CLEAR
  
  CLEAR ALL
  
  USE KC1
  
  APPEND FROM KC2
  
  INDEX ON KCM TO KCMID
  
  DO WHILE NOT EOF()
  
  MKCM=KCM
  
  COUNT TO TJ WHILE KCM=MKCM
  
  IF TJ=2
  
  ?‘同时出现在KC1和KC2中的课程名有:’+ MKCM
  
  ENDIF
  
  ENDDO
  
  USE
  
  S

上一页  [1] [2] [3] [4] [5] [6] [7] 下一页

文章转载请注明来源于:汕头自考网