求2009福大自考管理系统中的计算机应用答案vfp

来源:百度知道 编辑:UC知道 时间:2024/06/17 23:02:44
建立WORZG.DBF的表文件,其结构如下:
字段 字段名 字段类型 字段宽度 小数
1. 职工代码 C 3
2. 职工姓名 C 8
3. 性别 L 1
4. 进厂时间 D 8
5. 基本工资 N 12 2
输入如下记录:
职工代码 职工姓名 性别 进厂日期 基本工资
101 王山 T 02/04/2002 2600
102 赵晶 F 05/13/2002 2500
209 李芳 F 12/31/2003 1980
225 钟文 T 11/09/2006 1280
建立表文件DECUZG.DBF,其结构包括:职工代码,C,3;事假天数,N,8,2;事假扣款,N,12,2。并输入如下记录:
职工代码 事假天数 事假扣款
101 2
102 1
209 3
225 5
2.编写程序,文件名CALCKK.PRG,要求计算每一位职工的事假扣款,并将结果存入DECUZG.DBF文件中。扣款条件如下:如果工龄在三年及以下每天按日工资的80%扣款;如果工龄大于三年小于等于5年,每天按日工资的50%扣款;如果工龄大于5年,每天按日工资的15%扣款。
3.编写程序,文件名为:SEARZG.PRG,要求输入职工代码,如果存在则显示该职工的姓名 .基本工资 事假天数和事假扣款的信息;若不存在则显示“查无此人”的信息。要求能连续查询,直到用户不想查找为止。
4.编写程序,文件名为EDITZG.PRG,要求将WORKZG.DBF文件中在2005年1月1日前进厂的职工的基本工资增加26%,之后进厂的职工的基本工资增加17%

程序1:

Use 表1 In 0
Use 表2 In 0
Select 表2
Scan
lcID=Alltrim(职工代码)
Select 表1
Locate For Alltrim(职工代码)==lcID
If Found()
Do Case
Case Gomonth(进厂日期,36)>=Date()
lnKKGZ=基本工资/30*0.8 &&日工资=基本工资/30天
Case Gomonth(进厂日期,36)<Date() And Gomonth(进厂日期,60)>=Date()
lnKKGZ=基本工资/30*0.5
Case Gomonth(进厂日期,60)<Date()
lnKKGZ=基本工资/30*0.15
Endcase
Else
lnKKGZ=0
Endif
Select 表2
Replace 事假扣款 With 事假天数*lnKKGZ
Endscan
程序2:
Clear
Use 表2 In 0
Use 表1 In 0
Do While .T.
Accept "请输入要查询的员工代码:" To abc
If !Empty(abc)
Select 表1
Locate For 职工代码=abc
If Found()
?"职工姓名 基本工资 请假天数 事假扣款"
?职工姓名,基本工资
Select 表2