综合应用题.docx

上传人:b****8 文档编号:10501315 上传时间:2023-02-14 格式:DOCX 页数:39 大小:25.57KB
下载 相关 举报
综合应用题.docx_第1页
第1页 / 共39页
综合应用题.docx_第2页
第2页 / 共39页
综合应用题.docx_第3页
第3页 / 共39页
综合应用题.docx_第4页
第4页 / 共39页
综合应用题.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

综合应用题.docx

《综合应用题.docx》由会员分享,可在线阅读,更多相关《综合应用题.docx(39页珍藏版)》请在冰豆网上搜索。

综合应用题.docx

综合应用题

第:

0001号题考生文件夹下有职员管理数据库STAFF,数据库中有YUANGONG表和ZHIBAN表。

表结构如下:

YUANGONG(职工编码C(4),姓名C(10),夜值班天数I,昼值班天数I,加班费N(10,2))

ZHIBAN(值班时间C

(2),每天加班费N(7,2))

ZHIBAN表中只有两条记录,分别记载了白天和夜里的加班费标准。

请首先在考生文件夹下编写符合下列要求的程序PROG1.PRG:

1)计算YUANGONG表的加班费字段值,计算方法是:

加班费=夜值班天数*夜每天加班费+昼值班天数*昼每天加班费

2)根据上面的结果,将员工的职工编码、姓名、加班费存储到JIEGUO(职工编码(C,4)姓名(C,10)加班费(N10,2))表中,并按加班费降序排列,如果加班费相等,则按职工编码升序排列。

然后在考生文件夹下设计一个名为MENU1的菜单,并生成名为MENU1.mpr的菜单程序,菜单格式如下:

计算退出

程序运行时,单击“计算”菜单运行PROG1.PRG,单击“退出”菜单项,程序终止运行。

试完成上述要求,并调试运行菜单与程序。

参考答案:

SETTALKOFF

SETSAFETYOFF

CLEAR

useZHIBAN

scan

if值班时间="夜"

a=每天加班费

else

b=每天加班费

endif

ends

useYUANGONG

replall加班费with夜值班天数*a+昼值班天数*b

copytojieguo1field职工编码,姓名,加班费

usejieguo1

sorttojieguoon加班费/d,职工编码

usejieguo

list

SETTALKON

SETSAFETYON

RETURN

第:

0003号题在考生文件夹下有如下所示两个表文件:

仓库(仓库号(C10),城市(C10),面积(N8))

职工(仓库号(C10),职工号(C10),工资(N8))

请在考生文件夹下编写满足如下要求的程序PROG1:

检索出所有职工的工资都大于等于1220元的职工所管理的仓库信息,将结果保存在wh1(仓库号(C10),城市(C10),面积(N8))数据表文件中,并按面积降序排序。

设计一个名为MENU1的菜单,并生成名为MENU1.mpr的菜单程序,菜单格式如下:

计算退出

程序运行时,单击“计算”菜单项应执行PROG1,单击“退出”菜单项,程序终止运行。

试完成上述要求,并调试运行菜单与程序。

sele0

use职工

sele0

use仓库

copystrutowh

sele2

usewh

sele0

use仓库

scan

ckh=仓库号

sele1

locafor仓库号=ckh

ifnoteof()

locafor仓库号=ckhand工资<1220

ifeof()

sele2

appendfrom仓库for仓库号=ckh

endif

endif

sele0

ends

sele2

sorttowh1on面积/d

usewh1

list第:

0004号题在考生文件夹下有如下所示两个表文件:

仓库(仓库号(C10),城市(C10),面积(N8))

职工(仓库号(C10),职工号(C10),工资(N8))

请在考生文件夹下编写满足如下要求的程序PROG1:

检索出有职工的工资大于1220元的职工所管理的仓库信息,将结果保存在wh1数据表(仓库号(C10),城市(C10),面积(N8))文件中,该文件的结构和仓库数据表文件的结构一致,并按面积升序排序。

然后在考生文件夹下设计一个名为MENU1的菜单,并生成名为MENU1.mpr的菜单程序,菜单格式如下:

计算退出

程序运行时,单击“计算”菜单项应执行PROG1,单击“退出”菜单项,程序终止运行。

试完成上述要求,并调试运行菜单与程序。

sele0

use仓库

copystrutowh

sele0

usewh

sele0

use职工

sele1

scan

ckh=仓库号

sele3

locafor仓库号=ckh

ifnoteof()

locafor仓库号=ckhand工资>1220

ifnoteof()

sele2

appendfrom仓库for仓库号=ckh

endif

endif

sele1

ends

sele2

sorttowh1on面积

usewh1

list

closeall

第:

0007号题在考生文件夹下包括三个数据表YISHENG.DBF(医生)、YAO.DBF(药品)、CHUFANG.DBF(处方),表结构如下:

YISHENG(职工号(N4),姓名(C8),职称(C8),部门(C6),年龄(N2))

YAO(药编号(N4),药名(C10),单位(C2),价格(N5),生产厂(C10))

CHUFANG(药编号(N4),数量(N2),日期(D8),职工号(N4),处方号(N4))

请在考生文件夹下编写满足如下要求的程序PROG1:

查询同一处方中,包含"感冒"两个字的药品的处方号、药名和生产厂,以及医生的姓名和年龄,把查询结果按处方号升序排序存入CC(姓名(C8),年龄(N2),处方号(N4),药名(C10),生产厂(C10))数据表中。

最后统计这些医生的人数(注意不是人次数),并在CC中追加一条记录,将人数填入该记录的处方号字段中。

然后在考生文件夹下设计一个名为MENU1的菜单,并生成名为MENU1.mpr的菜单程序,菜单格式如下:

计算退出

程序运行时,单击“计算”菜单项应执行PROG1;单击“退出”菜单项,程序终止运行。

试完成上述要求,并调试运行菜单与程序。

seleYISHENG.姓名,YISHENG.年龄,CHUFANG.处方号,yao.药名,yao.生产厂fromYISHENG,YAO,CHUFANG;

whereyao.药编号=CHUFANG.药编号and"感冒"$yao.药名andYISHENG.职工号=CHUFANG.职工号;

orderby处方号;

intodbfcc

n=1

a=姓名

scan

ifnot(姓名$a)

a=a+姓名

n=n+1

endif

ends

appeblan

repl处方号withn

list

use第:

0009号题在考生文件夹下有数据表stock_sl.dbf和stock_fk.dbf,表结构如下:

stock_sl(股票代码(C6),买入价(N7,2),现价(N7,2),持有数量(N6))

stock_fk(股票代码(C6),浮亏金额(N11,2))

请在考生文件夹下编写满足如下要求的程序PROG1:

(1)先根据表stock_fk复制生成表stock_fk1

(2)将现价比买入价低的股票信息存入stock_fk1表,其中:

浮亏金额=(买入价-现价)*持有数量

(3)根据stock_fk1表计算总浮亏金额,存入一个新表stock_z(浮亏金额(N11,2))中,该表最终只有一条记录。

然后在考生文件夹下设计一个名为MENU1的菜单,并生成名为MENU1.mpr的菜单程序,菜单格式如下:

计算退出

程序运行时,单击“计算”菜单项应执行PROG1;单击“退出”菜单项,程序终止运行。

试完成上述要求,并调试运行菜单与程序。

usestock_fk

copytostock_fk1

usestock_fk1

sele0

usestock_sl

scanfor买入价>现价

b=股票代码

a=(买入价-现价)*持有数量

sele1

appenblank

repl股票代码withb,浮亏金额witha

sele2

ends

sele1

copystrutostock_zfield浮亏金额

sumtos浮亏金额

usestock_z

appendblan

repl浮亏金额withs

list

use第:

0010号题在考生文件夹下有数据表文件“score_fs.dbf”,其表结构如下:

score_fs(学号(C10)、物理(N11)、高数(N11)、英语(N11)和平均分(N6,2))

成绩如果用-1表示,说明学生没有选学该门课程。

其中,该表前四个字段已有数据。

请在考生文件夹下编写满足如下要求的程序PROG1:

(1)计算每一个学生的平均分存入平均分字段。

注意:

分数为-1不记入平均分,例如一个学生的三门成绩存储的是90,-1,70,平均分应是80。

(2)根据上面的计算结果,生成一个新的表PJF(学号(C10),平均分(N6,2)),并且按平均分的降序排序,如果平均分相等,则按学号升序排序。

然后在考生文件夹下设计一个名为MENU1的菜单,并生成一个名为MENU1.mpr的菜单程序,菜单格式如下:

计算退出

执行菜单程序时,单击“计算”菜单项,运行PROG1.PRG;单击“退出”菜单项,程序终止运行。

试完成上述要求,并调试运行菜单与程序。

操作步骤:

1:

使用MODICOMMPROG1命令进入编程窗口。

2:

使用USEscore_fs命令打开score_fs表。

3:

在score_fs表中循环

4:

menshu=0zongfen=0使每次循环开始时选课门数和总分为0

5;if物理<>-1then

menshu=menshu+1

zongfen=zongfen+物理

endif

if高数<>-1then

menshu=menshu+1

zongfen=zongfen+高数

endif

if英语<>-1then

menshu=menshu+1

zongfen=zongfen+英语

endif

依次判断是否选课

6:

replace平均分withzongfen/menshu

7:

使用sortfields学号,平均分topjfon平均分/d,学号生成要求的新表

8;关闭所有表

9:

使用CREATEMENUMENU1命令创建菜单。

第:

0011号题在考生文件夹下有数据表stock_mm和stock_cs,表结构如下:

stock_mm(股票代码(C10),买卖标记(L1(.T.表示买进,.F.表示卖出)),单价(N10,2),本次数量(N10))

stock_cs(股票代码(C10),持仓数量(N10))

stock_mm表中一只股票对应多个记录,stock_cs表中一只股票对应一个记录.

请首先在考生文件夹下编写符合下列要求的程序PROG1.PRG:

(1)先根据表stock_cs复制生成表stock_cc;

(2)根据stock_mm统计每只股票的持仓数量,并将结果存放到stock_cc表;

计算方法:

买卖标记为.T.(表示买进),将本次数量加到相应股票的持仓数量;买卖标记为.F.(表示卖出),将本次数量从相应股票的持仓数量中减去。

(注意:

stock_cc表中的记录按股票代码从小到大顺序存放).

然后在考生文件夹下设计一个名为MENU1的菜单,并生成名为MENU1.mpr的菜单程序,菜单格式如下:

计算退出

程序运行时,单击“计算”菜单项应执行PROG1;单击“退出”菜单项,程序终止运行。

试完成上述要求,并调试运行菜单与程序。

usestock_cs

copytostock_cc1

usestock_cc1

sele0

usestock_mm

b=""

dowhilenoteof()

a=股票代码

ifnot(a$b)

s=0

dowhilenoteof()

if股票代码=a

if买卖标记

s=s+本次数量

else

s=s-本次数量

endif

endif

skip

enddo

gotop

sele1

appeblan

repl股票代码witha,持仓数量withs

b=b+a

endif

sele2

skip

endd

sele1

sorttostock_ccon股票代码

第:

0012号题在考生文件夹下有数据表CHENGJI.dbf和KECHENG.dbf,表结构如下:

CHENGJI(学号(C8),姓名(C10),课程(C10),成绩(N8,2))

KECHENG(课程(C10),最高分(N8,2))

CHENGJI表用于记录学生的考试成绩,其中一个学生可以有多项记录(登记一个学生的多门成绩)。

KECHENG表的内容是所开课程,一门课程只有一个记录(表中有固定的已知数据)。

请在考生文件夹下编写符合下列要求的程序prog1:

(1)计算表CHENGJI中每门课程的最高分,并将结果存入KECHENG表的最高分字段中;

(2)根据上面的计算结果,生成一个按最高分降序排序的新表jcc(课程名(C10)最高成绩(N8,2))。

然后在考生文件夹下设计一个名为MENU1的菜单,并生成名为MENU1.mpr的菜单程序,菜单格式如下:

计算退出

程序运行时,单击“计算”菜单项应执行PROG1;单击“退出”菜单项,程序终止运行。

试完成上述要求,并调试运行菜单与程序。

useKECHENG

sele0

useCHENGJI

a=""

dowhilenoteof()

b=课程

ifnot(b$a)

s=成绩

dowhilenoteof()

if课程=b

ifs<成绩

s=成绩

endif

endif

skip

enddo

sele1

repl最高分withsfor课程=b

sele2

gotop

else

skip

endif

a=a+b

endd

sele1

sorttojccon最高分/d

closedatabase第:

0014号题在考生文件夹下有CHENGJI表和XUESHENG表,各表结构如下:

CHENGJI表(姓名(C10)、课程名(C10)、成绩(N8,2))

XUESHENG表(姓名(C10)、平均分(N16,2))

CHENGJI表用于记录学生的考试成绩,但一个学生可以有多条记录(登记一个学生的多门成绩)。

XUESHENG表是学生信息,一个学生只有一条记录(表中有固定的已知数据)。

请首先在考生文件夹下编写符合下列要求的程序PROG1.PRG:

根据CHENGJI表计算每个学生的平均分,并将结果存入XUESHENG表的平均分字段。

然后在考生文件夹下设计一个名为MENU1的菜单,并生成名为MENU1.mpr的菜单程序,菜单格式如下:

计算退出

程序运行时,单击“计算”菜单项应执行PROG1;单击“退出”菜单项,程序终止运行。

试完成上述要求,并调试运行菜单与程序。

useCHENGJI

sele0

useXUESHENG

scan

xm=姓名

sele1

avertoafor姓名=xm

sele2

repl平均分witha

endsc

list

closedatabase第:

0015号题在考生文件夹下有数据表YUANGONG和ZHICHENG,表结构如下:

YUANGONG(职工编码(C10),姓名(C10),职称(C10),工资(N10,2),新工资(N10,2))

ZHICHENG(职称(C10),增加百分比(N10,2))

请首先在考生文件夹下编写符合下列要求的程序PROG1.PRG:

(1)将YUANGONG表复制到JCC表中;

(2)在JCC表中给每个员工增加工资,新工资=工资*(1+增加百分比/100),将计算结果存入相应记录的“新工资”字段中。

然后在考生文件夹下设计一个名为MENU1的菜单,并生成名为MENU1.mpr的菜单程序,菜单格式如下:

计算退出

程序运行时,单击“计算”菜单项应执行PROG1;单击“退出”菜单项,程序终止运行。

试完成上述要求,并调试运行菜单与程序。

useYUANGONG

copytojcc

usejcc

sele0

useZHICHENG

scan

a=职称

b=增加百分比

sele1

repl新工资with工资*(1+b/100)for职称=a

sele2

ends

closedatabase第:

0018号题在考生文件夹下有数据表文件order_detail.dbf和order_list.dbf,表结构如下:

order_detail(订单号(C10),器件号(C10),单价(N10,2),数量(N4))

order_list(订单号(C10),订购日期(D8),总金额(N8,2))

请首先在考生文件夹下编写符合下列要求的程序PROG1.PRG:

(1)复制表order_list到表order_list1中;

(2)根据order_detail表中的记录重新计算order_list1表的总金额字段的值;

(3)最后将order_list1表中的记录按总金额降序排序存储到od_new表中。

然后在考生文件夹下设计一个名为MENU1的菜单,并生成名为MENU1.mpr的菜单程序,菜单格式如下:

计算退出

程序运行时,单击“计算”菜单项应执行PROG1;单击“退出”菜单项,程序终止运行。

试完成上述要求,并调试运行菜单与程序。

useorder_detail

sele0

useorder_list

copytoorder_list1

useorder_list1

scan

a=订单号

s=0

sele1

scanfor订单号=a

s=s+单价*数量

ends

sele2

repl总金额withs

ends

sorton总金额/dtood_new

useod_new

list

closedatabase

第:

0019号题在考生文件夹下有数据表order_detail.dbf和order_list.dbf,表结构如下:

order_detail(订单号(C10),器件号(C10),单价(N10,2),数量(N4))

order_list(订单号(C10),订购日期(D8),总金额(N8,2))

请首先在考生文件夹下编写符合下列要求的程序PROG1.PRG:

当order_detail表中的单价确定后,应该根据该表的"单价"和"数量"字段修改order_list表的总金额字段,现在有部分order_list记录的总金额字段值不正确,请编写程序挑出这些记录,并将这些记录存放到一个名为od_mod的表中(与order_list表结构相同),然后根据order_detail表的"单价"和"数量"字段修改od_mod表的总金额字段。

然后在考生文件夹下设计一个名为MENU1的菜单,并生成名为MENU1.mpr的菜单程序,菜单格式如下:

计算退出

程序运行时,单击“计算”菜单项应执行PROG1;单击“退出”菜单项,程序终止运行。

试完成上述要求,并调试运行菜单与程序。

useorder_detail

sele0

useorder_list

copytood_mod

useod_mod

scan

a=订单号

s=0

sele1

scanfor订单号=a

s=s+单价*数量

ends

sele2

if总金额=s

dele

else

repl总金额withs

endif

ends

pack

list

closedatabase第:

0022号题在考生文件夹下有数据表order_detail,表结构如下:

order_detail(订单号(C10),器件号(C10),单价(N10,2),数量(N16))

请首先在考生文件夹下编写符合下列要求的程序PROG1.PRG:

(1)把“订单号”尾部字母相同并且订货相同(“器件号”相同)的订单合并为一张订单,新的“订单号”就取原来的尾部字母,“单价”取最低价,“数量”取合计;

(2)按“器件号”降序排序;

(3)最终记录的处理结果保存在表od_new(订单号(C3),器件号(C10),单价(N102)),数量(N16))中。

然后在考生文件夹下设计一个名为MENU1的菜单,并生成名为MENU1.mpr的菜单程序,菜单格式如下:

计算退出

程序运行时,单击“计算”菜单项应执行PROG1;单击“退出”菜单项,程序终止运行。

试完成上述要求,并调试运行菜单与程序。

useorder_detail

copytood_new1

sele0

useod_new1

sele1

scan

c=right(allt(订单号),3)

a=right(allt(订单号),1)

b=器件号

s=0

n=单价

r=recn()

sele2

scanforright(allt(订单号),1)=aand器件号=b

s=s+数量

ifn>单价

n=单价

endif

ifrecn()<>r

dele

endif

ends

pack

gor

repl单价withn,数量withs,订单号withc

sele1

ends

sele2

sorttood_newon器件号

closedatabase第:

0026号题在考生文件夹下已有数据表文件“商品.dbf”,表结构如下:

商品(商品号C(10),出厂价N(10,2),单价N(10,2))

请首先在考生文件夹下编写符合下列要求的程序PROG1.PRG:

1)将商品表备份为BF,下列操作均在BF中进行;

2)将“商品号”前两位编号为“10”的商品“单价”修改为出厂单价提高10%;其他商品单价修改为出厂单价提高5%。

再在考生文件夹下设计一个名为MENU1的菜单,并生成一个名为MENU1.mpr的菜单程序,菜单格式如下:

计算退出

执行菜单程序时,单击“计算”菜单项,运行PROG1.PRG;单击“退出”菜单项,程序终止运

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1