《Visual FoxPro》在线考试_2017年12月考试原题及答案 下载本文

收起解析 解析:

三、程序设计题 答题要求 :

按照题目要求编写程序。

36(10.0)

题目:假设约定年龄不超过35岁的职工为青年职工;年龄在36岁至45岁的职工为中年职工;年龄超过45岁的职工为老年职工。从键盘输入任一职工姓名在STUD表中查找,显示其姓名、年龄以及所属的职工类型。 答案:

SET TALK OFF clear use STUD

accept '请输入所查的姓名: ' to xm LOCATE for 姓名=xm IF .NOT. FOUND() ?”查无此人” ELSE

NL=YEAR(DATE())-YEAR(出生日期) DO CASE

CASE NL<=35

?姓名,nl,”青年职工” CASE NL>35 .AND. NL<=45

? 姓名,nl,”中年职工” OTHERWISE ? 姓名,nl,”老年职工”

ENDCASE ENDIF USE SET TALK ON RETURN

37(10.0)

题目:打开STUD表,分别统计所有姓“张”学员的平均年龄和所有姓“王”学员的平均年龄。 答案:

SET TALK OFF CLEAR CNTZH=0 SUMZH=0 CNTWANG=0 SUMWANG=0

DO WHILE NOT EOF() IF 姓名=”张”

CNTZH=CNTZH+1

SUMZH=SUMZH+(YEAR(DATE())-YEAR(出生日期)) ENDIF

IF 姓名=”张”

CNTWANG=CNTWANG+1

SUMWANG=SUMWANG+(YEAR(DATE())-YEAR(出生日期)) ENDIF

ENDDO

? “张姓学员的平均年龄为:”,SUMZH/CNTZH ? “王姓学员的平均年龄为:”,SUMWANG/CNTWANG SET TALK ON RETURN

38(10.0)

题目:编程显示STUD表中所有男学员的姓名、工龄及工资。 答案:

SET TALK OFF USE STUD scan

IF 性别=”男”

? 姓名,YEAR(DATE())-YEAR(工作时间),工资 ENDIF ENDSCAN USE SET TALK ON RETURN