您现在的位置: 汕头自考网 >> 串讲笔记 >> 工学类 >> 正文
  • 365网友提供计算机信息管理试题
  • 发布日期时间:2007-1-14  来源:网络   点击数:  作者:佚名
ET TALK ON
  
  RETURN
  
  8.现已存在两个数据库,职工收入数据库ZGR.DBF,其字段有:
  
  GH (工号,字符型) ,?XM (姓名,字符型) ,?SR (收入,数值型)
  
  纳税记录数据库ZGS.DBF,其字段有:
  
  GH (工号,字符型) ,?SE (税额,数值型) ,?SJSR (实际净收入,数值型)
  
  若征税标准规定如下:
  
  SR≤1000?征税0 %
  
  1000<SR≤2000?征税5 %
  
  2000<SR≤3000?征税10 %
  
  SR>3000?征税20 %
  
  按下列要求编写程序文件P15.PRG ,?其功能是根据ZGR.DBF中收入SR及征税标准,
  
  计算每个职工的税额SE和实际净收入SJSR ,然后相应填入ZGS.DBF中的SE和SJSR.
  
  「解答」
  
  在1号工作区中打开ZGR,根据征税标准,先计算出征税税率TAX.
  
  在2号工作区中打开ZGS,?求出税额?SE=收入SR×税率TAX
  
  净收入SJSR=收入SR-税额SE
  
  由于该题在多库之间的操作,从当前工作区访问其它工作区打开的库文件中的某个字段时,要在
  
  该字段名前加上前缀,?即:
  
  别名->字段名
  
  因而
  
  SE=ZGR->SR*TAX
  
  SJSR=ZGR->SR-SE
  
  在计算过程中,若库ZGR中记录在库ZGS中没有,则要添加。?若库ZGS中的记录在库ZGR
  
  中没有,则SE和SJSR均为0.
  
  用命令MODIFY COMMAND P15?来建立程序文件P15.PRG ,参考程序如下:
  
  SET TALK OFF
  
  CLEAR
  
  SELECT B
  
  USE ZGS
  
  REPLACE ALL SE WITH 0
  
  REPLACE ALL SJSR WITH 0
  
  SELECT A
  
  USE ZGR
  
  DO WHILE NOT EOF()
  
  DO CASE
  
  CASE SR>3000
  
  TAX=0.2
  
  CASE SR>2000 AND SR<=3000
  
  TAX=0.1
  
  CASE SR>1000 AND SR<=2000
  
  TAX=0.05
  
  OTHERWISE
  
  TAX=0
  
  ENDCASE
  
  SELECT B
  
  LOCATE FOR GH=ZGR->GH
  
  IF NOT FOUND()
  
  APPEND BLANK
  
  REPLACE GH WITH ZGR->GH
  
  ENDIF
  
  REPLACE SE WITH ZGR->SR*TAX
  
  REPLACE SJSR WITH ZGR->SR-SE
  
  SELECT A
  
  SKIP
  
  ENDDO
  
  SELECT B
  
  LIST
  
  CLOSE ALL
  
  SET TALK ON
  
  RETURN
  

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

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