vf 练习.docx
- 文档编号:27642208
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:25
- 大小:221.06KB
vf 练习.docx
《vf 练习.docx》由会员分享,可在线阅读,更多相关《vf 练习.docx(25页珍藏版)》请在冰豆网上搜索。
vf练习
一、综合应用;
在考生文件夹下有学生管理数据库books,数据库中有score表(含有学号,物理,高数,英语和学分5个字段,具体类型请查阅表结构),其中前4项已有数据;
请编写符合下列要求的程序并运行程序:
设计一个名为myform的表单,表单中有两个命令按钮,按钮的名称分别为cmdYes和cmdNo,标题分别为“计算”和“关闭”;程序运行时,单击“计算”按钮应完成下列操作:
(1)计算每一个学生的总学分并存入到对应的学分字段。
学分计算方法是:
物理60分以上(包括60分)2学分,否则0分;高数60分以上(包括60分)3学分,否则0分;英语60分以上(包括60分)4学分,否则0分;
(2)根据上面的计算结果,生成一个新的表xf,该表只包括学号和学分两项(要求表结构的字段类型与score表对应字段的类型一致),并且按学分升序排序,如果学分相等,则按学号降序排序;
单击“关闭”按钮,程序终止运行;
二、综合应用;
在考生文件夹下有股票管理数据库stock,数据库中有stock_sl表;stock_fk表,stock_sl表结构是股票代码C(6),买入价N(7.2),现价N(7.2),持有数量N(6);stock_fk的表结构是股票代码C(6),浮亏金额N(11.2),
请编写并运行符合下列要求的程序:
设计一个名为menu_lin的菜单,菜单中有两个菜单项“计算”和“退出”。
程序运行时,单击“计算”菜单项应完成下列操作:
(1)将现价比买入低价的股票信息存入stock_fk表,其中:
浮亏金额=(买入价—现价)*持有数量(注意要先把stock_fk表的内容清空)。
(2)根据stock_fk表计算总浮亏金额,存入一个新表stock_z中,其字段名为浮亏金额,类型为N(11.2),该表最终只有一条记录;单击“退出”菜单项,程序终止;
三、综合应用;
在考生文件夹下有学生管理数据库stu_3,数据库中有score_fs表,其表结构是学号C(10),物理I,高数I,英语I和平均分N(6.2)。
成绩如果用-1表示,说明学生没有选该门课程。
其中该表前四项已有数据;
请编写并运行符合下列要求的程序:
设计一个名为form_my的表单,表单中有两个命令按钮,按钮的名称分别为cmdYes和cmdNo,标题分别为“统计”和“关闭”
程序运行时,单击“统计”按钮应完成下列操作:
(1)计算每个学生的平均分存入平均分字段,注意:
分数为-1不记入平均分,例如一个学生的三门成绩存储是90,-1,70,平均分应是80
(2)根据上面的计算结果,生成一个新的表pif,该表只包括和平均分两项,并且按平均分的降序排序,如果平均分相等,则按学号升序排序;
单击“关闭”按钮,程序终止运行;
四、
综合应用;
在考生文件夹下有股票管理数据库stock_4,数据库中有stock_mm表和stock_cc表,stock_mm的表结构是股票代码C(6),买卖标记L(.T.表示买进,.F.表示卖出),单价N(7.2),本次数量N(6)。
Stock_cc的表结构是股票代码C(6),持仓数量N(8)。
Stock_mm表中一只股票对应多个记录,stock_cc表中一只股票对应的一个记录(stock_cc表开始时记录个数为0)。
请编写并运行符合下列要求的程序:
设计一个名为menu_lin的菜单,菜单中有两个菜单选项“计算”和“退出”;程序运行时,单击“计算”菜单项应完成下列操作:
(1)根据stock_mm表统计每只股票的持仓数量,并将结果放到stock_cc表。
计算方法:
买卖标记为.T.(表示买进),将本次数量加到相应股票的持仓数量;买卖标记为.F.(表示卖出),将本次数量从相应股票的持仓数量中减去。
(注意:
stock_cc表中的记录按股票代码从小到大顺序存放)。
(2)将stock_cc表中持仓数量最少的股票信息存储到stock_x表中(与stock_cc表结构相同);单击“退出”按钮,程序终止运行;
五、综合应用;
在考生文件夹下有学生管理数据库stu_five
(1)CHENGJI表(学号C(9),课程号C(3),成绩I)用于记录学生的考试成绩,其中一个学生可以有多项记录(登记一个学生的多门成绩)。
(2)KECHENG表(课程号C(3),课程号C(10),最高分I,学号C(9))的内容是所开课程,一门课程只有一个记录(表中有固定的已知数据)。
请编写并运行符合下列要求的程序:
设计一个名为form_my的表单,表单中有两个命令按钮,按钮的名称分别为cmdYes和cmdNo,标题分别为“统计”和“关闭”。
程序运行时,单击“统计”按钮应完成下列操作:
(1)计算每门课程的最高分,将结果存入KECHENG表的最高分字段,同时将得此最高分的学生的学号存入该表的学号字段;
(2)根据上面的计算结果,生成一个新的表jiangli,该表按顺序含有来自KECHENG表的课程名和最高分两个字段,并且按最高分降序排序;
单击“关闭”按钮,程序终止运行
六、
综合应用;
在考生文件夹下有股票管理数据库stock_6,数据库中有stock_mm表和stock_cs表,stock_mm的表结构是股票代码C(6),买卖标记L(.T.表示买进,.F.表示卖出),单价N(7.2),本次数量N(6)。
Stock_cs的表结构是股票代码C(6),买入次数N(4),最高价N(7.2)。
Stock_mm表中一只股票对应多个记录,stock_cs表中一只股票对应的一个记录(stock_cs表开始时记录个数为0)。
请编写并运行符合下列要求的程序:
设计一个名为stock_m的菜单,菜单中有两个菜单选项“计算”和“退出”;程序运行时,单击“计算”菜单项应完成下列操作:
(1)根据stock_mm表生成stock_cc表中记录。
计算每支股票的买入次数和(买入时的)最高价。
买卖标记为.T.(表示买进),(注意:
stock_cs表中的记录按股票代码从小到大顺序存放)。
(2)将stock_cs表中持仓数量最少的股票信息存储到stock_x表中(与stock_cs表结构相同);单击“退出”按钮,程序终止运行;
七、
综合应用;在考生文件夹下有学生管理数据库stu_7,该库中有CHENGJI表和XUESHENG表,各表结构如下:
(1)CHENGJI表(学号C(9),课程号C(3),成绩N(7.2)),该表用记录学生的考生成绩,一个学生可以有多项记录(登记一个学生的多门成绩)。
(2)XUESEHNG表(学号C(9),姓名C(10),平均分N(7.2))该表是学生信息,一个学生只有一个记录(表中有固定的已知数据)。
请编写并运行符合下列要求的程序:
请设计一个名为form_stu的表单,表单中有两个命令按钮,按钮的名称分别为cmdYes和 cmdNo,,标题分别为“统计”和“关闭”。
程序运行时,单击“统计”按钮应完成下列操作:
(1)根据CHENGJI表计算每个学生的平均分,并将结果存入XUESHENG表的平均分字段。
(2)根据上面的计算结果,生成一个新的表pingjun,该表的字段按顺序,如果平均分相等,则按学号升序排序。
单击“关闭”按钮,程序终止运行。
八、
综合应用;在考生文件夹下有职员管理数据库staff_8,数据库中有YUANGONG表和ZHICHENG表,YUANGONG的表结构是职称代码C
(1),和职称名称C(8),增加百分比N(7.2)。
请先为YUANGONG表增加一个字段,字段名是新工资,类型是N(10.2),然后编写并运行符合下列要求的程序:
设计一个名为staff_m的菜单,菜单中有两个菜单项“计算”和“退出”。
程序运行时,单击“计算”菜单项应完成下列操作:
现在要给每个增加工资,请计算YUANGONG表的新工资字段,方法是根据ZHICHENG表中相应职称的增加百分比来计算:
新工资=工资*(1+增加百分比/100)
单击“退出”菜单项,程序终止运行。
九、
综合应用;考生文件夹下有学生管理数据库stu_nine,数据库中有score1表,其库结构是学号C(10),少数民族L,优秀干部L,三好生L,考试成绩I,总成绩I,其中,前五项已有数据。
请编写并运行符合下列要求的程序:
设计一个名为form_stu的表单,表单中有两个命令按钮,按钮的名称分别为cmYes和cmdNo,标题分别为“计算”和“关闭”。
程序运行时,单击“计算”按钮应完成下列操作:
(1)计算每一个学生的总成绩。
总成绩的计算方法是:
考试成绩+加分,加分的规则是:
如果该生是少数民族(相应数据字段为.T.)加分5分,优秀干部加分10分,少好学生加20分,加分不累计,取最高的。
例如如果该生既是少数民族又是三好生,加分为20。
如果都不是,总成绩=考试成绩。
(2)根据上面的计算结果,生成一个新的表zcj,该表只包括学号和总成绩两项,并按总成绩的升序排序,如果总成绩相等,则按学号的升序排序。
单击“关闭”按钮,程序终止运行。
一十、
综合应用;
考生文件夹下有职员管理数据库staff_10,数据库中有YUANGONG表,ZHIBAN表,YUANGONG的表结构是职工编码C(4),姓名C(10),夜值班天数I,昼值班天数I,加班费N(10.2)。
ZHIBAN表的库结构是值班时间C
(2),每天加班费N(7.2),ZHIBAN表中只有两条记录,分别记载了白天和夜里的每天加班费标准。
请编写并运行符合下列要求的程序:
设计一个名为staff_m的菜单,菜单中有两个菜单项“计算”和“退出”。
程序运行时,单击“计算”菜单项应完成下列操作:
(1)计算YUANGONG表的加班费字段值,计算方法是:
加班费=夜班天数*夜每天加班费+昼值班天数*昼每天加班费
(2)根据上面的结果,将员工的职工编码,姓名,加班费存储到的staff_d表中,并按加班费降序排列,如果加班费相等,则按职工编码的升序排列。
单击“退出”菜单项,程序终止运行。
一十一、
综合应用;
当order_detail表中的单价修改后,应该根据该表的“单价”和“数量”字段修改order_list表的总金额字段,现在编写程序实现此功能,具体要求和注意事项如下:
(1)根据order_detail表中的记录重新计算order_list表的总金额字段的值;
(2)一条order_list记录可以对应几条order_detail记录;
(3)在编程前应保证在基础操作中正确地建立了order_list表,在简单应用中为该表追加了记录(注意只能追加一次)
(4)最后将order_list表中的记录按总金额降序存储到od_new表中(表结构与order_list表完全相同);
(5)将程序保存为prog1.prg文件
一十二、
综合应用;
在做本题前首先确认在基础操作中已经正确地建立了order_detail表,在简单应用中已经成功地将记录追加到order_detail表。
当order_detail表中的单价修改后,应该根据该表的“单价”和“数量”字段修改order_list表的总金额字段,现在有部分order_list记录的总金额字段值不正确,请编写车工女婿挑出这些记录,并将这些记录存放到一个名为od_mod的表中(与order_list表结构相同,自己建立),然后根据order_detail表的“单价”和“数量”字段修改od_mod表的总金额字段(注意一个od_mod记录可能对应几条order_detail记录),最后od_mod表的结果要求按总金额升序排序,编写的程序最后保存为prog.prg。
一十三、
综合应用;
使用报表设计器建立一个报表,具体要求如下:
(1)报表的内容(细节带区)是order_list表的订单号,订购日期和总金额;
(2)增加数据分组,分组表达式是“order_list.客户号”,组标头带区的内容是“客户号”,组注脚带区的内容是该组订单的“总金额”合计;
(3)增加标题带区,标题是“订单分组汇总表(按客户)”,要求是3号字,黑体,括号是全角符号。
(4)增加总结带区,该带区的内容是所有订单的总金额合计。
最后将建立的报表文件保存为report1.frx文件。
提示:
在考生的过程中可以使用“显示→预览”菜单查看报表的效果。
一十四、
综合应用;
首先为order_detail表增加一个新字段:
新单价(类型与原来的单价字段相同),然后编写满足如下要求的程序:
根据order_list表中的“订购日期”字段的值确定order_detail表的“新单价”字段的值,原则是:
订购日期为2001年的“新单价”字段的值为原单价的90%,订购日期为2002年的“新单价”字段的值为原单价的110%(注意:
在修改操作过程中不要改变order_detail表记录的顺序),最后将程序保存为prog1.prg,并执行该程序。
接着再利用VisualFoxpro的“快速报表”功能建立一个简单报表,该报表内容按顺序含有order_detail表的定单号,器件号,器件名,新单价和数量字段的值,将报表文件保存为report1.frx。
一十五、
综合应用;
首先将order_detail表全部内容复制到od_bak表,然后对od_bak表编写完成如下功能的程序:
1、把“订单号”尾部字母相同并且订货相同(“器件号”相同)的订单合并为一张订单,新的“订单号”就取原来的尾部字母,“单价”取最低价,“数量”取合计;
2、结果先按新的“订单号”升序排序,再按“器件号”升序排序;
3、最终记录的处理结果保存在od_new表中;
4、最后将程序保存为prog1.prg,并执行该程序。
一十六、
综合应用;
1、打开基本操作中建立的数据库sdb,使用SQL的CREATEVIEW命令定义一个名称为SVIEW的视图,该视图的SELECT语句完成查询:
选课门数是3门以上(不包括3门)的每个学生的学号,姓名,平均成绩,最低分和选课门数,并按“平均成绩”降序排序。
最后将定义视图的命令代码存放到命令文件T1.PRG中所有字段;记录不分组;报表样式为“随意式”;排序字段为“学号”(升序);报表标题为“学生成绩统计一览表”;报表文件名为p_student。
2、设计一个名称为form2的表单,表单上有“浏览”(名称为Command1)和“打印”(Command2)两个命令按钮。
鼠标单击“浏览”命令按钮时,先打开数据库sdb,然后执行SELECT语句查询前面定义的SVIEW视图的记录(两条命令,不可以有多余命令);鼠标单击“打印”命令按钮时,调用报表文件p_student浏览报表的内容(一条命令,不可以有多余命令)。
一十七、
综合应用;
1、请编写名称为change_c的程序并执行;该程序实现下面的功能:
将雇员工资表salarys进行备份,备份文件名为bak_salarys.dbf;利用“人事部”向“财务部”提供的雇员工资调整表c_salary1的“工资”,对salarys表的“工资”进行调整(请注意:
按“雇员号”相同进行调整,并且只是部分雇员的工资进行了调整,其他雇员的工资不动)。
2、设计一个名称为form2的表单,上面有“调整”(名称Command1)和“退出”(名称Command2)两个命令按钮。
单击“调整”命令按钮时,调用chang_c命令程序实现工资调整;单击“退出”命令按钮时,关闭表单。
注意:
在两个命令按钮中均只有一条命令不可以有多余命令;
一十八、
综合应用;
在考生文件夹下,对数据库salary_db完成如下综合应用:
设计一个名称为form2的表单,在表单上设计一个“选项组”(又称选项按钮组,名称为Optiongroup1)及两个命令按钮“生成”(名称为Command1)和“退出”(名称为Command2);其中选项按钮组有“雇员工资表”(名称为Option1),“部门表”(名称为Option2)和“部门工资汇总表”(名称为Option3)三个选项按钮。
然后为表单建立数据环境,并向数据环境添加dept表(名称为Cursor1)和salarys表(名称为Cursor2)。
各选项按钮功能如下:
(1)当用户选择“雇员工资表”选项按钮后,再按“生成”命令按钮,查询显示在简单应用中创建的sview视图中的所有信息并把结果存入表gz1.dbf中。
(2)当用户选择“部门表”选项按钮后,再按“生成”命令按钮,查询显示dept表中每个部门的部门号和部门名称并把结果存入表bm1.dbf中。
(3)当用户选择“部门工资汇总表”选项按钮后,再按“生成”命令按钮,则按部门汇总,将该公司的部门号,部门名,工资,补贴,奖励,失业保险和医疗统筹的支出汇总合计结果存入表hz1.dbf中。
请注意:
字段名必须与原字段名一致。
(4)按“退出”按钮,退出表单。
注意:
以上各项功能必须调试,运行通过。
一十九、
综合应用;
在考生文件夹下,对“商品销售”数据库完成如下综合应用:
1、请编写名称为change_c的命令程序并执行,该程序实现下面的功能:
将“商品表”进行备份,备份文件名为“商品表备份.dbf”;将“商品表”中“商品号”前两位编号为“10”的商品的“单价”修改为出厂单价的10%;使用“单价调整表”对商品表的部分商品出厂单价修改(按“商品号”相同)。
2、设计一个名称为form2的表单,上面有“调整”(名称为Command1)和“退出”(名称为Command2)两个命令按钮。
单击“调整”命令按钮时,调用change_c命令程序实现商品单价调整;单击“退出”命令按钮,关闭表单。
注意:
以上两个命令按钮均只含一条语句,不可以有多余的语句。
二十、
综合应用;
在考生文件夹下,对“雇员管理”数据库完成如下综合应用:
1、建立一个名称为VIEW1的视图,查询每个雇员的部门号,部门名,雇员号,姓名,性别,年龄和EMAIL。
2、设计一个名称为form2的表单,表单上设计一个页框,页框有“部门”和“雇员”两个选项卡,在表单在右下角有一个“退出”命令按钮。
要求如下:
(1)表单的标题名称为“商品销售数据输入”;
(2)单击选项卡Page1“部门”时,在选项卡“部门”中使用“表格”方式显示“部门”表中的记录(表格名称为“grd部门”);
(3)单击选项卡Page2“雇员”时,在选项卡“雇员”中使用“表格”方式显示VIEW1视图中的记录(表格名称为grdView1);
(4)单击“退出”命令按钮时,关闭表单。
二十一、
综合应用;
设计名为mystock的表单(控件名,文件名均为mystock)。
表单的标题为:
“股票持有情况”,表单中有两个文本框(text1和text2)和两个命令按钮“查询”,则text2中会显示出相应股票的持有数量。
单击“退出”按钮关闭表单。
二十二、
综合应用;
设计名为mystu的表单(控件名为form1,文件名为mystu)。
表单的标题为“学生学习情况统计”。
表单中有一个选项组控件(命名为myOption)和两个命令按钮“计算”(名称为Command1)和“退出”(名称为Command2)。
其中,选项组控件有两个按钮“升序”(名称为Option1)和“降序”(名称为Option2)。
运行表单时,首先在选项组控件中选择“升序”或“降序”,单击“计算”命令按钮后,按照成绩“升序”或“降序”(根据选项组控件)将选修了“C语言”的学生学号和成绩分别存入stu_sort1.dbf和stu_sort2.dbf文件中。
单击“退出”按钮关闭表单。
二十三、
综合应用;
设计名为mysupply的表单(表单的控件名和文件名均为mysupply)。
表单的标题为“零件供应情况”。
表单中有一个表格控件和两个按钮“查询”(名称为Command1)和“退出”(名称为Command2)。
运行表单时,单击“查询”命令按钮后,表格控件(名称grid1)中显示了工程号“J4”所使用的零件的零件名,颜色和重量。
单击“退出”按钮关闭表单。
二十四、
综合应用;
设计名为form_book的表单(控件名为form1,文件名为form_book)。
表单的标题设为“图书情况统计”,表单中有一个组合框(名称为Combo1),一个文本框(名称为Text1)和两个命令按钮“统计”(名称为Command1)和“退出”(名称为Command2)。
运行表单时,组合框中有三个条目“清华”,“北航”,“科学”(只有三个出版社名称,不能输入新的)可供选择,在组合框中选择出版社名称后,如果单击“统计”命令按钮,则文本框显示出“图书”表中该出版社图书的总数。
单击“退出”按钮关闭表单。
二十五、
综合应用;
SCORE_MANAGER数据库中含有三个数据库表STUDENT,SCORE1和COURSE。
为了对SCORE_MANAGER数据库数据进行查询,设计一个如图所示的表单Myform1(控件名为form1,表单文件名为Myform1.scx)。
表单的标题为“成绩查询”。
表单左侧有一个文本“输入学号(名称为Label1的标签)”和用于输入学号的文本框(名称为Text1)以及“查询”(名称为Command1)和“退出”(名称为Command2)两个命令按钮以及一个表格控件。
表单运行时,用户首先在文本框中输入学号,然后单击“查询”按钮,如果输入学号正确,在表单右侧以表格(名称为Grid1)形式显示该生所选课程名和成绩,否则提示“学号不存在,请重新输入学号”。
单击“退出”按钮,关闭表单。
26、SCORE_MANAGER数据库中含有三个数据库表STUDENT、SCORE1和COURSE。
为了对SCORE_MANAGER数据库数据进行查询,设计一个表单Myform3(控件名为form1,表单文件名为Myform3)。
表单标题为“成绩查询”;表单有“查询”(名称为Command1)和“退出”(名称为Command2)两个命令按钮。
表单运行时,单击“查询”按钮,查询每门课程的最高分,查询结果中含“课程名”和“最高分”字段,结果按课程名升序保存在表NEW_TABLE3。
单击“退出”按钮,关闭表单。
27、利用菜单设计器建立一个菜单TJ_MENU3,要求如下:
(1)主菜单(条形菜单)的菜单项包括“统计”和“退出”两项;
(2)“统计”菜单下只有一个菜单项“平均”,该菜单项的功能是统计各门课程的平均成绩,统计结果包含“课程名”和“平均成绩”两个字段,并将统计结果按课程名升序保存在表NEW_TABLE3中。
“退出”菜单项的功能是返回VFP系统菜单。
菜单建立后,运行该菜单中的各个菜单项。
28、在考生文件夹下完成如下综合应用:
(1)首先将BOOKS。
DBF中所以书名中含有“计算机”3个字的图书复制到表BOOKS_BAK表中完成;
(2)复制后的图书价格在原价格的基础上(降5%);
(3)从图书均价高于25元(含25)的出版社中,查询并显示图书均价最低的出版社名称以及均价,查询结果保存在表new_table4中(字段名为出版单位和均价)。
29、在考生文件夹下,建立满足如下要求的应用并运行:
(1)建立一个表单stock_form,其中包含两个表格控件,第一个表格控件名称是grdStock_name,用于显示表stock_name中的记录,第二个表格控件名称是grdStock_sl用于显示与表stock_name中当前记录对应的stock_sl中的记录。
(2)在表单中添加一个关闭按钮(名称为Command1),要求单击按钮时关闭表单。
30、在考生文件夹下,完成如下综
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vf 练习