2010秋VFP上机参考答案01-0.doc_第1页
2010秋VFP上机参考答案01-0.doc_第2页
2010秋VFP上机参考答案01-0.doc_第3页
2010秋VFP上机参考答案01-0.doc_第4页
2010秋VFP上机参考答案01-0.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2010Q VFP01一、项目、数据库和表操作(12分) 打开T盘根目录中的项目文件JXGL,在该项目中已有一数据库JXSJ。1在JXSJ数据库中按如下表格所示的结构创建AB表,并按表格中的要求设置相关属性。宇段名数据类型宽度宇段标题RQD0日期SCSLN6售出门票数量SJRSN6实际参观人数BZM0备注(1) 设置AB表的表注释:参观人数; 参观人数 (不要括号)(2) 设置日期字段的默认值:当前系统日期; Date() 注意:是引文括号(3) 设置日期字段的显示类:微调框; ListBox(4) 设置记录有效性规则:实际参观人数小于或等于售出门票数量;sjrs=54JS表已存在主索引GH,索引表达式为GH;KCAP表已存在普通索引GH,索引表达式为GH。以JS表为主表、KCAP表为子表,根据GH建立永久关系,并设置两表之间的参照完整性:更新级联、删除级联。二、设计查询(8分) 已知教师表(JS)含有工号(gh,C)、姓名(xm,C)等字段;自由表图书借阅表(JYB)含有读者号(dzh,C)、分类号(flh,C)、借阅日期(jyrq,D)、还书日期(hsrq,D)等字段,教师的读者号与工号相同。按如下要求修改JXGL项目中的查询CHAXUN: 基于JS表和JYB表查询教师借书情况,计算过期罚款信息。要求:查询输出字段为dzh、xm、罚款额;查询结果按罚款额降序排序;输出去向为文本文件TEMP。注:罚款计算方法为30天以上超过部分每本每天0.10元,未还书者(即还书日期为空的记录)不统计。连接:Js.gh=Jyb.dzh (题目中有文字:教师的读者号与工号相同)字段:dzh,xm,(hsrq-jyrq-30)*0.1 As 罚款额筛选:字段中写入Hsrq-jyrq = 30 (这样即可保证还书日期为空的不统计)排序:罚款额分组:没有使用合计函数,不用分组去向:右击查询设计器“输出设置”,找到“文本文件”,在旁边输入文件名Temp三、设计菜单(5分) JXGL项目中已存在菜单MENU,其中已定义了“文件”菜单栏及其中的“退出菜单”项。按如下要求设计菜单,菜单运行后的效果如图1所示。1 在“文件”菜单栏右侧创建“数据管理”菜单栏。下方2. 在“数据管理”菜单栏下创建子菜单“查询”和“数据备份”。3. 为“查询”菜单项设置快捷键:F12。点“选项”按钮,点“键标签”后面的文本框,然后按键盘第一行上的F12键,注意:F12是一个键4. 在菜单项“查询”和“数据备份”之间插入分组线。- 注意:很多人敲成/-,实不应该5. 为“数据备份”菜单项设置过程代码:在“结果”中选择“过程”,点“创建”或“修改”按钮,在弹出的“过程”界面中,输入代码即可。d=GETFILE(dbf,*.dbf)USE &dCOPY TO bf1四、设计表单(10分) 表单F101A用于统计输入文本中各类字符的个数。按下列要求修改表单,修改后表单运行时如图2所示。1修改表单的有关属性,使表单的标题Caption为“字符数统计”,并设置字数统计的三个文本框禁用Enabled .F.。2适当加大Shape1形状的高度,在其区域内增加一个标签控什LabelSum(注意:这里要将标签的name属性改为LabelSum)和一个文本框控件Text4(注意:这里要留意文本框的name属性是不是Text4,如果不是请改为Text4),并设置Labe1Sum的标题Caption为“总字符数:”。3编写“清空”按钮的Click事件代码,用2条语句实现如下功能:(1)清除编辑框Editl中的文本;(2)使“字数统计”矩形区域内的4个文本框的值均置零。双击“清空”按钮,在弹出的窗口中(留意是否是Click过程,如果不是选择Click,如果搞错地方,即使写对也是0分本题),输入代码:Thisform.Edit1.Value= &等号后是一对引号,单引号双引号都可以,表示空字符串Thisform.SetAll(Value,0,TextBox) 4表单已定义了一个Count()方法,用来对Edit1编辑中的文本进行字数统计。编写“统计”按钮的Click事件代码,以实现:先调用表单的Count( )方法,然后将文本框Text1、Text2和Text3的值相加后显示在文本框Text4中。双击“统计”按钮,在弹出的窗口中(留意是否是Click过程),输入代码:Thisform.Count &不要写()Thisform.Text4.Value=Thisform.Text1.Value+ Thisform.Text2.Value+ Thisform.Text3.Value+五、程序改错(5分) 下列程序的功能是找出100-999以内同时满足以下条件的数:1)个位数字与十位数字和与10的模等于百位数;2)该数是素数(仅能被1和本身整除的数称为“素数”)。例如101、211、239等。要求: 将下列程序输入到项目中的程序文件PCODE中,并对其中的2条错误语句进行修改; 在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。CLEARFOR i=100 TO 999 yn=.T.FOR i=3 To j-1 & FOR i=3 To i-1 ,这是资料里排版错误 IF MOD(j,i)=0 & IF MOD(i,j)=0 yn=.F. EXIT ENDIFENDFORIF yn s=STR(i,3) s1=SUBS(s,3,) &s1=SUBS(s,3,),这是资料里排版错误 s2=SUBS(s,2,) &s2=SUBS(s,2,) ,这是资料里排版错误 s3=SUBS(s,1,) &s3=SUBS(s,1,) ,这是资料里排版错误 IF MOD(VAL(s1)+VAL(s2)=VAL(s3) & IF MOD(VAL(s1)+VAL(s2),10)=VAL(s3) ?i ENDIFENDIFENDFOR2010Q VFP02一、项目、数据库和表操作(12分) 打开丁盘根目录中的项目文件JXGL,在该项目中已有一数据库JXSJ。1在JXSJ数据库中按如下表格所示的结构创建AB表,并按表格中的要求设置相关属性。字段名数据类型宽度宇段标题RQD0日期QCPHC8汽车牌号DDC20地点TPG0图片(1) AB表的表注释:汽车违停记录; 直接写入文字,不要引号 (2) 设置日期字段的默认值:当前系统日期减1; date()-1(3) 设置地点字段的显示类:列表框; ListBox(4) 设置汽车牌号字段的有效性规则:不能为空; Not Empty(qcph)(5) 创建普通索引,索引名为abcd,要求按地点排序,相同时根据汽车牌号排序。2. 在AB表中输入如下记录: RQQCPHDD(默认值)苏A88888世纪广场3修改JC表数据:所有记录的单价字段的值取整。 浏览jc表,“表”菜单-“替换字段”,设置:字段:Dj替换为:Int(Dj)范围选:ALLFor:不写,因为说“所有记录”,没有设置具体条件4JS表已存在主索引GH,索引表达式为GH;KCAP表已存在普通索引GH,索引表达式为GH。以JS表为主表、KCAP表为子表,根据GH建立永久关系,并设置两表之间的参照完整性:更新限制、插入限制。二、设计查询(8分) 已知学生表(XS)含有学号(xh,C)、姓名(xm,C)等字段;自由表图书借阅表(JYB)含有读者号(dzh,C)、分类号(flh,C)、借阅日期(jyrq,D)和还书日期(hsrq,D)等字段,其中学生的读者号与学号相同。按如下要求修改JXGL项目中的查询CHAXUN: 基于XS表和JYB表查询学生借书情况,计算过期罚款信息。要求:查询输出字段为dzh、xm、罚款;查询结果按罚款降序排序;输出去向为文本文件TEMP.TXT。注:罚款计算方法为30天以上超过部分每本每天0.05元,未还书者(即还书日期为空的记录)不统计。连接:xs.xh=Jyb.dzh (题目中有文字:其中学生的读者号与学号相同)字段:dzh,xm,(hsrq-jyrq-30)*0.05 As 罚款筛选:字段中写入Hsrq-jyrq = 30 (这样即可保证还书日期为空的不统计)排序:罚款,注意是降序分组:没有使用合计函数,不用分组去向:右击查询设计器“输出设置”,找到“文本文件”,在旁边输入文件名Temp三、设计菜单(5分) JXGL项目中已存在菜单MENU,其中已定义了“文件”菜单栏及其中的“退出菜单”项。按如下要求设计菜单,菜单运行后的效果如图1所示。1在“文件”菜单栏右侧创建“成绩管理”菜单栏。下方2在“成绩管理”菜单栏下创建子菜单“查询”和插入系统菜单“导出(E)”菜单项。3为“查询”菜单项设置命令:SELECT * FROM cj4为“导出”菜单项设置跳过条件:CJ表打开时才可操作(启用)。 点“选项”按钮,在跳过中输入:not Used(cj)5在菜单项“查询”和“导出”之间插入分组线。四、设计表单(10分) 表单F101C用于数据的录入。按下列要求修改表单,修改后表单运行时如图2所示。1. 设置文本框控件的输入掩码,使其只能接受四位数字,不允许输入字母、汉字或其它字符,并设置文本框中的数字以粗体显示。 9999 、FontBold .T.2. 在表单的空白区域添加一个复选框控件Checkl(如图所示),设置其标题为“自动排序”,值为逻辑假(.F.),并设置有关属性使其能自动调整大小。注意:添加的复选框的Name应该为Check1标题:Caption 值:.F. 自动大小:AutoCenter .T.3若复选框Checkl被选中,表示列表框Listl中的项自动排序,否则不自动排序。编写Checkl的Click事件代码,根据Checkl的值,用一条语句设置列表框控件Listl的自动排序属性(Sorted)。双击Check1,在弹出的窗口中(确认是Click事件过程)输入:Thisform.List1.Sorted=Thisform.Check1.Value或Thisform.List1.Sorted=This.Value4编写“清除”按钮的Click事件代码,用2条语句实现如下功能:将列表框Listl的所有数据项清空,将文本框Textl的值置零。 双击“清除”按钮,在弹出的窗口中(确认是Click事件过程)输入:Thisform.List1.ClearThisform.Text1.Value=0五、程序改错(5分) 我国古代数学家张丘建在算经一书中曾提出著名的“百钱买百鸡”问题,该问题是:1只公鸡5元、1只母鸡3元、3只仔鸡1元,若用100元恰好买100只鸡,则公鸡、母鸡和仔鸡各多少只?修改下列程序以解决上述问题,要求: 将下列程序输入到项目中的程序文件PCODE中,并对其中的2条错误语句进行修改; 在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。cString=FOR i=0 TO 100/5 FOR j=0 TO 100/3 FOR k=0 TO 3*

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论