1、综合编程题目 1、在考生文件夹下有学生成绩数据库xuesheng3,包括如下所示3个表文件以及相关的索引文件: 1)xs.dbf(学生文件: 学号 C8,姓名 C8,性别 C2,班级 C5;另有索引文件XS.IDX,索引键:学号) 2)cj.dbf(成绩文件: 学号 C8,课程名 C20,成绩 N5.1;另有索引文件CJ.IDX,索引键:学号) 3)cjb.dbf(成绩表文件:学号 C8,姓名 C8,班级 C5,课程名 C12,成绩 N5.1) 设计一个名为XS3的菜单,菜单中有两个菜单项"计算"和"退出"。 程序运行时, 单击"计算"菜单项应完成下列操作:
2、 将所有选修了"计算机基础"的学生的"计算机基础"成绩,按成绩由高到低的顺序填到成绩表文件CJB.DBF中(首先须将文件中原有数据清空)。 单击"退出"菜单项,程序终止运行。 (注:相关数据表文件存在于考生文件夹下) 2、在考生文件夹下有仓库数据库ck3,包括如下所示两个表文件: ck(仓库号C(4),城市C(8),面积N(4)) zg(仓库号C(4),职工号C(4),工资N(4)) 设计一个名为ZG3的菜单,菜单中有两个菜单项"统计"和"退出"。 程序运行时,单击"统计"菜单项应完成下列操作:检索出所有职工的工资都大于1220元(不包括1220元)的职工所
3、管理的仓库信息,将结果保存在wh1数据表(wh1为自由表)文件中,该文件的结构和CK数据表文件的结构一致,并按面积升序排序。 单击"退出"菜单项,程序终止运行。 (注:相关数据表文件存在于考生文件夹下) 3、在考生文件夹下有工资数据库wage3,包括数据表文件:zg(仓库号C(4),职工号C(4),工资N(4))。设计一个名为tj的菜单,菜单中有两个菜单项"统计"和"退出"。 程序运行时,单击"统计"菜单项应完成下列操作:检索出工资小于或等于本仓库职工平均工资的职工信息,并将这些职工信息按照仓库号升序,在仓库号相同的情况下再按职工号升序存放到emp1(emp1为自由表)文件中,该数
4、据表文件和zg数据表文件具有相同的结构。 单击"退出"菜单项,程序终止运行。 (注:相关数据表文件存在于考生文件夹下) 4、在考生文件夹下有仓库数据库CHAXUN3包括3个表文件: zg(仓库号 C(4),职工号 C(4),工资 N(4)) dgd(职工号 C(4),供应商号 C(4),订购单号 C(4),订购日期 D,总金额 N(10)) gys(供应商号 C(4),供应商名 C(16),地址 C(10)) 设计一个名为cx33的菜单,菜单中有两个菜单项"查询"和"退出"。 程序运行时,单击"查询"应完成下列操作:检索出工资多于1230元的职工向北京的供应商发出的订购单信息
5、并将结果按总金额降序排列存放在order文件中。 单击"退出"菜单项,程序终止运行。 (注:相关数据表文件存在于考生文件夹下) 5、在考生文件夹下有仓库数据库gz3,其中包括如下两个表文件: zg(仓库号C(4),职工号C(4),工资N(4)) dgd(职工号C(4),供应商号C(4),订购单号 C(4),订购日期D,总金额N(10)) 首先在gz3库中建立工资文件数据表:gj(职工号C(4),工资N(4))。设计一个名为chaxun的菜单,菜单中有两个菜单项"查询"和"退出"。程序运行时,单击"查询"应完成下列操作:检索出与供应商S7、S4和S6都有业务联系的职工的职工号和工资
6、并按工资降序存放到所建立的gj文件中。单击"退出"单项,程序终止运行。 (注:相关数据表文件存在于考生文件夹下) 6、现有医院数据库doct3,包括3个表文件:yisheng.dbf(医生)、yao.dbf(药品)、chufang.dbf(处方)。设计一个名为chufang3的菜单,菜单中有两个菜单项"查询"和"退出"。 程序运行时,单击"查询"应完成下列操作: 查询同一处方中,包含"感冒"两个字的药品的处方号、药名和生产厂,以及医生的姓名和年龄,把查询结果按处方号升序排序存入jg9资料表中。jg9的结构为(姓名,年龄,处方号,药名,生产厂)。最后统计这些医生的人数(注意不是人次数),
7、并在jg9中追加一条记录,将人数填入该记录的处方号字段中。 单击"退出"菜单项,程序终止运行。 (注:相关资料表文件存在于考生文件夹下) 7、 在考生文件夹下有学生管理数据库books,数据库中有score表(学号、物理、高数、英语和学分查询表结构),其中前4项已有数据。 请编写符合下列要求的程序并运行程序: 设计一个名为myform的表单,表单中有两个命令按钮,按钮的名称分别为cmdyes和cmdno,标题分别为"计算"和"关闭"。程序运行时,单击"计算"按钮应完成下列操作: 1)计算每一个学生的总学分并存入对应的学分字段。学分的计算方法是:物理60分以上 (包括60分)2学分,
8、否则0分;高数60分以上(包括60分)3学分,否则0分;英语60分以上(包括60分)4学分,否则0分。 2)根据上面的计算结果,生成一个新的表xf(要求表结构的字段类型与score表对应字段的类型一致),并且按学分升序排序,如果学分相等,则按学号降序排序。单击"退出"菜单项,程序终止运行。 8、对"出勤"数据库中的表"出勤情况",建立文件名为myf的表单,标题为"出勤情况查询",表单上有1个表格控件和3个命令按钮"未迟到查询"、"迟到查询"和"关闭"。 单击"未迟到查询"按钮,查询出勤情况表中每个人的"姓名"、"出勤天数"和"未迟到天数",其中"未迟到天数"为"出勤天数"减去"迟到次数
9、"。结果在表格控件中显示,同时保存在表tablel中。 单击"迟到查询"按钮,查询迟到天数在l天以上的人的所有信息,结果在表格控件中显示,同时保存在表table2中。 单击"关闭"按钮关闭表单。 9、为"部门信息"表增加一个新字段"人数",编写满足如下要求的程序:根据"雇员信息"表中的"部门号"字段的值确定"部门信息"表的"人数"字段的值,即对"雇员信息"表中的记录按"部门号"归类。将"部门信息"表中的记录存储到ate表中(表结构与"部门信息"表完全相同)。最后将程序保存为myp.prg,并执行该程序。 10.考生文件夹下存在数据库"销售",其中包含表"购买信息"和表"会员信息",这两
10、个表存在一对多的联系。对销售数据库建立文件名为myf的表单,其中包含两个表格控件。 第一个表格控件用于显示表"会员信息"的记录,第二个表格控件用于显示与表"会员信息"当前记录对应的"购买信息"表中的记录。 表单中还包含一个标题为"关闭"的命令按钮,单击此按钮退出表单。 11、设计名为my的表单。表单标题为"学习情况浏览"。表单中有1个选项组控件(名为myop)、2个命令按钮"成绩查询"和"关闭"。其中,选项组控件有两个按钮"升序"和"降序"。根据选择的选项组控件,将选修了"数据结构"的学生的"学号"和"成绩"分别存入new1.dbf和new2.dbf文件中。 12、①打开基本操作中建立
11、的数据库sdb,使用SQL的CREATE VIEW命令定义一个名称为sview的视图,该视图的SELECT语句完成查询:选课数是3门以上(不包括3门)的每个学生的学号、姓名、平均成绩、最低分和选课数,并按"平均成绩"降序排序。最后将定义视图的命令代码存放到命令文件t1.prg中并执行该文件。接着利用报表向导制作一个报表。要求选择sview视图中所有字段;记录不分组;报表样式为"随意式";排序字段为"学号"(升序);报表标题为"学生成绩统计一览表";报表文件名为pstudent。 ②设计一个名称为form2的表单,表单上有"浏览"(名称为Command1)和"打印"(Command2)两个命令按钮。鼠标单击"浏览"命令按钮时,先打开数据库sdb,然后执行SELECT语句查询前面定义的 sview视图中的记录(两条命令不可以有多余命令),鼠标单击"打印"命令按钮时,调用报表文件pstudent浏览报表的内容(一条命令,不可以有多余命令)。






