2010春VFP上机
试卷 一、项目、数据库和表操作Vfp01打开T盘根目录中的项目文件JXGL,在该项目中已有一数据库JXSJ。1.在JXSJ数据库中按如下表格中所示的结构创建AB.DBF表,并按表格后的要求设置相关属性。
字段名BMBHZZXMLWMLXKWMC数据类型CCCLC宽度683020字段标题部门编号作者论文名类型刊物名称
(1)设置AB表的长表名为:发表论文登记表;(2)设置BMBH字段的格式:删除输入的前导空格和结尾空格;(3)创建唯一索引,索引名为abcd,要求按作者排序,相同时再按论文名排序;(4)设置类型(LX)字段的显示类为复选框控件。2.在AB表中输入如下记录:
BMBHB00002ZZXM李峰LWM电脑病毒防止LX.T.KWMC
计算机世界
3.为KC表设置删除触发器:LX字段值为“专业核心
课程”的记录不允许删除。4.已知JS表已存在主索引GH,索引表达式为GH,KCAP表已存在普通索引GH,索引表达式为GH,以JS表为主表,KCAP表为子表按GH建立永久关系,并设置两表之间的参照完整性:更新级联。二、
设计查询Vfp01已知课程(KC)表中含有课程代码(kcdm,C)、课程名称(kcmc,C)和学分(xf,N)等字段,在成绩表(CJ)中含有学生(xh,C)、成绩(cj,N)、课程代码(kcdm,C)等字段,若成绩不低于60分时,学生可以取得对应课程的学分。按如下要求修改JXGL项目中的查询chaxun:基于KC表和CJ表统计每个学生已取得的总学分。若总学分大于或等于20时该学生可以
毕业,查询所有不能毕业的学生
列表。要求查询输出字段为:xh、总学分。查询结果按总学分降序排序。三、设计菜单(5分)Vfp05JXGL项目中已存在菜单menu,其中已定义了“文件”菜单栏及其中的“退出菜单”项。按如下要求设计菜单。1.在“文件”菜单栏右侧创建“教材管理”菜单栏;2.在“教材管理”菜单栏下插入子菜单“浏览”和“备份”;3.为“备份”菜单项设置跳过条件:jc表打开时才可操作;4.为“备份”菜单项设置命令:COPYTOGETFILE("dbf","*.dbf");5.在菜单项“浏览”和“备份”之间插入分组线。四、设计表单(10分)Vfp06JXGL项目中已经存在表单Formp,该表单
图1
用来进行文字的录入和修改,如图2所示。按下列要求修改表单:1.设置表单运行时自动居中,无最大化、最小化按钮,边框为固定对话框;2.设置列表框中选定数据项的前景色为红色;3.在文本框的Keypress事件代码的空白处增加一条命令,使按回车时将文本框中录入的字符串添加到列表框中;图24.在“修改”命令按钮的Click事件代码的空白处增加一条命令,使点击该按钮时,将列表框中选定的项显示在文本框中;5.增加一个命令按钮,标题如图2所示,并为它编制Click事件代码,当点击该按钮时,将列表框中选定的项删除。五、
程序改错Vfp02一个自然数的七进制表示是一个三位数、九进制表示也是一个三位数,且这两个三位数(七进制和九进制)的数字字符的排列顺序正好相反。下列程序的功能是求该自然数,要求:①将下列程序输入到项目中的程序文件PCODE中,并对其中的2条错误语句进行修改;②在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。CLEARFORi=100TO999x=convert(i,7)y=convert(i,9)z=SPACE(0)FORj=1TOLEN(y)z=z+SUBS(y,j,1)&;&;subs(y,j,1)+zENDFORIFx==z?i,x,yENDIFENDFORFUNCTIONconvert()PARAMETERm,nc=SPACE(0)DOWHILELEN(m)>0c=STR(m%n,1)+cm=INT(m/n)ENDDORETURNcENDFUNC&;&;m>0&;&;十进制到二~九进制转换函数