在考生文件夹下有职员管理数据库staff_8,数据库中有yuangong表和zhicheng表。 yuangong的表结构:职工编码C(4)、姓名C(10)、职称代码C(1)、工资N(10,2) zhigong的表结构:职称代码C(1)、职称名称C(8)、

admin2013-06-10  23

问题 在考生文件夹下有职员管理数据库staff_8,数据库中有yuangong表和zhicheng表。 yuangong的表结构:职工编码C(4)、姓名C(10)、职称代码C(1)、工资N(10,2) zhigong的表结构:职称代码C(1)、职称名称C(8)、增加百分比N(10)然后编写并运行符合下列要求的程序:
   设计一个名为staff_m的菜单,菜单中有两个菜单项“计算”和“退出”。程序运行时,单击“计算”菜单项应完成下列操作:
   在表yuangong中增加一新的字段:新工资N(10,2)。
   现在要给每个人增加工资,请计算yuangong表的新工资字段,方法是根据zhicheng表中相应支撑的增加百分比来计算:
   新工资=工资*(1+增加百分比/100)
   单击“退出”菜单项对应命令SET SYSMENU TO DEFAULT,用于返回到系统菜单,程序终止运行。

选项

答案在命令窗口输入命令:CREATE MENU staff_m,系统弹出一个“新建菜单”对话框,在对话框中单击“菜单”按钮,进入菜单设计器环境。根据题目要求,首先输入两个主菜单名称“计算”和“退出”,接着在“计算”菜单行的“结果”下拉框中选择“过程”选项(用于编写程序),在“退出”菜单行的“结果”下拉框中选择“命令”选项。 单击“计算”菜单行中的“编辑”按钮,进入程序设计的编辑窗口,在命令窗口中输入如下程序段: *****“计算”菜单命令的程序设计**** SET TALE OFF USE zhicheng IN 2 USE yuangong IN 1 ALTER TABLE yuangong.ADD新工资N(10,2) SELECT 2 DO WHILE NOT EOF() &&遍历zhicheng表中的每一条记录 SELECT 1 UPDATE yuangong SET新工资=工资*(1+(zhicheng.增加百分比/100)); WHERE yuangong.职称代码=zhicheng.职称代码 SELECT 2 SKIP ENDDO SET TALK ON ********************************************** 在“退出”菜单项的“命令”文本框中编写程序代码:SET SYSMENU TO DEFAULT。 选择菜单命令“菜单”—“生成”,生成一个可执行菜单文件staff_m.mpr。关闭设计窗口,在命令窗口输入命令:DO staff_m.mpr,看到Visual FoxPro的菜单栏被新建的菜单所代替,单击“退出”菜单命令将恢复系统菜单。 执行“计算”菜单命令后,系统生成一个新的字段,并将计算结果自动保存到新字段中。

解析 本大题考查了菜单的设计,主要注意“结果”下拉框中的选项选择即可,用于编写程序段的菜单命令应该选择“过程”,在菜单命令的过程设计中,注意正确使用SQL数据定义(新增字段)和数据更新(插入记录)语句,利用DO循环来执行每条记录的新工资字段内容的插入。
转载请注明原文地址:https://kaotiyun.com/show/6Hop777K
0

最新回复(0)