1《VisualFoxPro程序设计基础》模拟试题及解答一、项目管理器、数据库、表和记录的输入和维护(25分)1、在自建文件夹下创建以自己名字拼音字母命名的项目管理器(如张三同学,应以“zhangsan.PJX”文件名,以下同);解答:①建立自己的目录:②设路径:点击VF程序中【工具】下拉菜单【选项】③建立项目名称:点击VF程序中【文件】下拉菜单【新建】22、在以自己名字拼音字母命名的项目管理器中建立一个以自己名字命名数据库(如张三同学,应为“zhangsan.DBC”);解答:①建立数据库:3、在数据库中创建学生表(表文件名为XS.DBF),长表名为:学生情况登记表,表结构如下:表一、XS.DBF字段名类型宽度小数位数标题XhC6学号XmC8姓名XbC2性别ZydhC6专业代号XimingC12系名解答:①建立表:3②长表名:4、在同一数据库中创建成绩表(表文件名为CJ.DBF),长表名为:成绩表,表结构如下:4表二、CJ.DBF字段名类型宽度小数位数标题XhC6学号KcdhC2课程代号CjN51成绩解答:①建立表:②长表名55、在学生表(XS.DBF)和成绩表(CJ.DBF)中分别添入如下记录表一、XS.DBFXhXmXbZydhXiming200901朱元元男102001信息管理系200902刘刚男109003计算机科学系200903高萍萍女109004数字通信系200904陆海丽女109005微波通信系表二、CJ.DBFXhKcdhCj2009010184.52009010289.52009020187.52009020289.5解答:①点击VF程序中【显示】下拉菜单【浏览】(要先点选中xs.dbf)②点击VF程序中【显示】下拉菜单【追加方式】6③点击VF程序中【显示】下拉菜单【浏览】(要先点选中cj.dbf)④点击VF程序中【显示】下拉菜单【追加方式】6、为表二中的字段Cj设置字段有效性规则:Cj应该在0到100之间,否则提示“你的输入有错误,请重新输入!”;解答:①点击VF程序中【修改】,在选中CJ,在其字段有效性下面选中规则(R)77、创建索引在表一中以字段Xh创建索引,索引表达式为主索引,索引名称为Xh;在表二中以字段Xh建立索引,索引表达式为普通索引,索引名称为Xh;解答:①选中xs.dbf,点击【修改】,再选择【索引】,类型改为主索引。②选中cj.dbf,点击【修改】,再选择【索引】,类型改为普通索引。88、表一和表二建立永久性关系,并编辑起参照完整性,将更新规则设置为级联,删除规则设置为限制,插入规则设置为忽略。解答:①点击VF程序中【显示】下拉菜单【数据库设计器】②用鼠标按住【学生情况登记表】中的钥匙,拖动鼠标箭头到【成绩表】中的索引。9③点击VF程序中【数据库】下拉菜单【编辑参照完整性】二、建立查询基于表一和表二在项目管理器中创建以自己名字命名的多表查询(如张三,应为“zhangsan.QPR”);解答:①建立查询表10要求利用xs.Xh和cj.Cj产生一个平均成绩的字段,求每个学生的平均成绩;设置排序依据,按学号(xs.Xh)升序排列;解答:在函数和表达式中选AVG(cj.cj)三、建立报表利用报表向导,基于以上的表,在项目管理器中创建以自己名字命名的一对多报表(如张三同学,应为“zhangsan.FRX”),报表中的信息有:xs.Xh、xs.Xm、xs.Xb、xs.Ximing、xs.Zydh、cj.Cj;解答:①点击项目管理器中【文档】下拉菜单【报表】选中【报表向导】再选【一对多报告向导】四、建立表单1.基于表一和表二在项目管理器中创建以自己名字命名的一对多表单(如张三同学,应为“zhangsan.SCX”);2.如图所示设置表单布局,表单的标题为:学生成绩情况表;11解答:①②点击VF程序中【显示】下拉菜单【表单控制工具栏】③点击VF程序中【显示】下拉菜单【数据环境】把需要的数据直接拖进表单123.表单运行时,屏幕显示结构如下所示;给按钮编程,实现其相应功能(注意,当记录处在第一条或最后一条记录时,上一条或下一条按钮变为不可操作)。解答:首条记录:gotopThisform.refresh末记录:gobottomThisform.refresh上一条:下一条:关闭:thisform.release五、程序设计:在项目管理器中创建以自己名字命名程序(如张三同学,应为“zhangsan.PRG”),功能实现求1到50之间的所有数之积(即S=1*2*3*……*50)解答:①点击项目管理器中【代码】下拉菜单【程序】选中【新建】输入程序六、建立菜单1.在项目管理器中创建以自己名字命名的菜单(如张三同学,应为“zhangsan.MNX”);调用表(T)学生情况表(xs.DBF)多表查询(*.QPR)退出菜单Ctrl+X数据操作(D)学生成绩情况表单.SCX运行程序(*.PRG)Ifbof()GobottomElseSkip-1EndifThisform.refreshIfeof()GotopElseSkipEndifThisform.refresh132.通过该菜单的菜单项完成调用表、调用表单、退出菜单,菜单功能设计如下:a.单击学生情况表,可以浏览xs.DBF;b.单击多表查询,可以浏览*.QPR查询表;c.单击学生成绩情况表单,可以浏览*.SCX;d.单击运行程序,可以运行*.SCX程序;e.单击退出菜单或按快捷键(Ctrl+X),可以退出菜单系统;f.在退出菜单按钮前加分隔线(见图)解答:①调用表:过程:use名称Browse查询:do**.qpr退出菜单:过程setsysmenunosaveSetsysmenutodefault②数据操作:表单命令:doform**运行程序:do**.prg