实验三 表的基本操作

合集下载

实验三 Word文档的基本操作

实验三  Word文档的基本操作

实验三Word文档的基本操作
(2学时)
一、实验目的与要求
(1)掌握word文档的建立、保存、打开方法
(2)掌握word文档的基本编辑方法,掌握文本校对和替换方法(3)掌握字符、段落的格式化方法
(4)掌握表格的建立、编辑、格式化、计算、排序和生成图表的方法
(5)掌握插入、编辑和格式化图表的方法,简单图形、艺术字和编辑器的使用方法
(6)掌握图文混排、页面排版的方法
二、实验内容
(1)打开word,熟悉word的界面,输入指定文本并保存(2)文档编辑和排版:按要求对建立word文档进行排版操作(简单写出各个步骤)
(3)建立并保存课程表、学生成绩表
(4) 对成绩表按要求进行编辑和格式化、根据成绩表建立图表(5)按样张在给定的文本中插入艺术字、图片、流程图、数学公式,并按照规定的格式进行排版
(6)设置页眉,调整页边距,进行页面设置。

实验三串基本操作的编程实现

实验三串基本操作的编程实现

实验三串基本操作的编程实现(共5页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--实验三串基本操作的编程实现【实验目的】内容:串基本操作的编程实现要求:串基本操作的编程实现(2学时,验证型),掌握串的建立、遍历、插入、删除等基本操作的编程实现,也可以进一步编程实现查找、合并、剪裁等操作,存储结构可以在顺序结构或链接结构、索引结构中任选,也可以全部实现。

也鼓励学生利用基本操作进行一些应用的程序设计。

【实验性质】验证性实验(学时数:2H)【实验内容】字符串用常规的顺序存储法来存储,实现常用的功能。

自己编程模式:开发一个程序,用来统计文件中各种信息,如字符个数,行数等。

修改程序模式:将下面程序空白的地方填空。

程序检查模式:将本文件夹中的程序运行后总结相关功能。

【思考问题】1.字符串的顺序存储和链表存储的差异C语言中是如何实现字符串的2.在字符串处理方面主要有什么操作3.字符串的操作的主要特点是什么4.举出几个字符串的应用范例【参考代码】立顺序串(仅限单行的字符串,建议不用汉字。

)"<<endl;cout<<"2.显示串"<<endl;cout<<"3.修改串"<<endl;cout<<"4.插入串"<<endl;cout<<"5.删除串"<<endl;cout<<"6.查找串"<<endl;cout<<"7.求串长度"<<endl;cout<<"8.结束程序"<<endl;cout<<"=========="<<endl;}int main(){int flag=0,returnvalue,position,beginposition,endposition,length;char choice,choose,newstr[maxsize];string newstring;menu();while(1){cout<<"请输入选择:";cin>>choice;switch(choice){case '1':if(flag){cout<<"数据已存在,是否覆盖(y/n)";cin>>choose;if(choose=='N'||choose=='n'){cout<<"数据没有发生更改!"<<endl;break;}if(choose=='Y'||choose=='y'){returnvalue=();if(returnvalue==success)cout<<"创建成功!"<<endl;flag=1;}elsecout<<"输入错误!"<<endl;}else{returnvalue=();if(returnvalue==success)cout<<"创建成功!"<<endl;flag=1;}break;case '2':if(flag==0)cout<<"请先建立串!"<<endl;else();break;case '3':if(flag==0)cout<<"请先建立串!"<<endl;else{();cout<<"请输入要修改的初始位置:";cin>>beginposition;cout<<"请输入要修改的终止位置:";cin>>endposition;cout<<"请输入修改后的字符串:";cin>>newstr;returnvalue=(beginposition,endposition,newstr);if(returnvalue==success){cout<<"修改成功!"<<endl;();}if(returnvalue==overflow){cout<<"字符串的最大长度为"<<maxsize<<endl;cout<<"发生溢出,操作失败!"<<endl;}if(returnvalue==range_error)cout<<"位置错误,操作失败!"<<endl;if(returnvalue==empty)cout<<"字符串为空,操作失败!"<<endl;}break;case '4':if(flag==0)cout<<"请先建立串!"<<endl;else{();cout<<"请输入要插入的位置:";cin>>position;cout<<"请输入要插入的字符串:";cin>>newstr;length=strlen(newstr);returnvalue=(position,newstr,length);if(returnvalue==success){cout<<"插入成功!"<<endl;();}if(returnvalue==overflow){cout<<"字符串的最大长度为"<<maxsize<<endl;cout<<"发生溢出,操作失败!"<<endl;}if(returnvalue==range_error)cout<<"位置错误,操作失败!"<<endl;}break;case '5':if(flag==0)cout<<"请先建立串!"<<endl;else{();cout<<"请输入要删除的初始位置:";cin>>beginposition;cout<<"请输入要删除的终止位置:";cin>>endposition;returnvalue=(beginposition,endposition);if(returnvalue==success){cout<<"删除成功!"<<endl;();}if(returnvalue==range_error)cout<<"位置错误,操作失败!"<<endl;if(returnvalue==empty)cout<<"字符串为空,操作失败!"<<endl;}break;case '6':if(flag==0)cout<<"请先建立串!"<<endl;else{();cout<<"请输入要查找的字符串:";cin>>newstr;position=(newstr);if(position>0){cout<<"已找到!"<<endl;cout<<"字符串出现的初始位置为:"<<position<<endl;}if(position==0)cout<<"您要查找的字符串不存在!"<<endl;if(position==-1)cout<<"字符串为空,操作失败!"<<endl;}break;case '7':if(flag==0)cout<<"请先建立串!"<<endl;else{();length=();cout<<"当前串的长度为:"<<length<<endl;}break;case '8':exit(0);break;default:cout<<"输入错误!\n";break;}cout<<"按任意键继续......"<<endl;getch();system("cls");menu();}getch();return 0; }。

实验01 线性表的基本操作

实验01 线性表的基本操作

实验01 线性表的基本操作一、实验目的1. 了解线性表的结构特点及有关概念;2. 理解线性表的存储结构;3. 掌握顺序表及单链表的基本操作算法。

二、实验内容1、编写程序实现顺序表的各种基本运算:初始化、插入、删除、取表元素、求表长、输出表、销毁、判断是否为空表、查找元素。

在此基础上设计一个主程序完成如下功能:(1)初始化顺序表L;(2)依次在表尾插入a,b,c,d,e五个元素;(3)输出顺序表L;(4)输出顺序表L的长度;(5)判断顺序表L是否为空;(6)输出顺序表L的第4个元素;(7)输出元素c的位置;(8)在第3个位置上插入元素f,之后输出顺序表L;(9)删除L的第2个元素,之后输出顺序表L;(10)销毁顺序表L。

2、编写程序实现单链表的各种基本运算:初始化、插入、删除、取表元素、求表长、输出表、销毁、判断是否为空表、查找元素。

在此基础上设计一个主程序完成如下功能:(1)初始化单链表L;(2)依次在表尾插入a,b,c,d,e五个元素;(3)输出单链表L;(4)输出单链表L的长度;(5)判断单链表L是否为空;(6)输出单链表L的第4个元素;(7)输出元素c的位置;(8)在第3个位置上插入元素f,之后输出单链表L;(9)删除L的第2个元素,之后输出单链表L;(10)销毁单链表L。

三、实验要点及说明一.顺序表1.顺序表初始化:(1)为顺序表L动态分配一个预定大小的数组空间,使elem 指向这段空间的基地址。

(2)将表的当前长度设为0.2.顺序表的取值:(1)判断指定的位置序号i值是否合理(1<=i<=L.length),若不合理则返回ERROR.(2)若i值合理,则将i个数据元素L.elem[i]赋给参数e,通过e返回第i个数据元素的传值。

3.顺序表的查找:(1)从第一个元素起,依次和e相比较,若找到与e相等的元素L.elem[i],则查找成功,返回该元素的序号i+1.(2)若查遍整个顺序表都没要找到,则查找失败,返回0.4.顺序表的插入:(1)判断插入位置i是否合法(i值的合法范围是1<=i<=n+1),若不合法则返回值ERROR.(2)判断顺序表的存储空间是否已满,若满则返回值ERROR(3)将第n个至第i个位置的元素依次向后移动一个位置,空出第i个位置(i=n+1时无需移动)。

实验3 Windows 7 的基本操作

实验3  Windows 7 的基本操作

实验3 Windows7的基本操作【实验目的】1.掌握Windows7窗口、菜单的基本操作2.掌握快捷方式和库设置3.掌握开始菜单、任务栏的使用4.了解获得帮助的途径【实验内容】1.Windows 7窗口基本操作桌面是登录到Windows 7 后看到的屏幕,它是计算机上最重要的特性之一。

桌面可以包含你经常使用的程序、文档、文件甚至打印机的快捷方式。

当运行程序或打开文档时,Windows 7系统会在桌面上打开一个窗口。

(1)窗口组成及菜单用户通过桌面向计算机发出各种操作指令,结果一般是通过窗口体现。

例如图3-1就是双击桌面“计算机”图标以后所显示的窗口及其组成。

图3-1 Windows7“计算机”主界面窗口菜单是图像用户界面的软件中提供的一组对象,位于窗口标题栏的下方。

这些菜单对应着每一项子功能。

当用户需要使用其中的某项功能时,通常借助于该软件提供的菜单命令来实现,如图3-2所示,就是利用Windows7中“工具”菜单中的“文件夹选项”功能。

图3-2 “工具”菜单(2)窗口的移动把鼠标移动到窗口的标题栏,然后按住鼠标左键即可在桌面实现窗口的移动。

(3)改变窗口的大小把鼠标定位到窗口的边缘部分,当鼠标变成双向箭头形状时按住鼠标左键拖动即可调整窗口的大小。

注意:已经最大化的窗口无法调整大小。

必须先还原后才可以调整大小。

(4)窗口的最大化、最小化和还原✧双击窗口的标题栏或者单击窗口标题栏中图标可以实现窗口的最大化。

✧单击窗口标题栏中的图标可以最小化窗口。

✧单击窗口标题栏中的图标可以实现窗口的还原。

✧右击窗口的标题栏,使用“还原”、“最大化”和“最小化”命令操作。

✧单击任务栏通知区域最右侧的“显示桌面”按钮,将所有打开的窗口最小化,再次单击则还原窗口。

✧通过Aero晃动:在目标窗口上按住鼠标左键不放,然后左右晃动鼠标若干次,其他窗口将被隐藏。

重复操作将恢复窗口布局。

(5)多窗口的切换在同一个屏幕中,可以同时打开多个窗口,但在这些窗口中,只有一个是当前活动窗口,如图3-3所示。

数据库实验三

数据库实验三

实验三订购数据库(一)数据定义一、基本表操作1.建立基本表1)创建仓库表,由以下属性组成:仓库号(CHAR 型),城市(CHAR 型),面积(INT 型)。

其中仓库号为主码,并且有面积>0 的限定条件2)创建职工表,由以下属性组成:仓库号(CHAR型),职工号(CHAR型),工资(INT型)。

其中职工号为主码,仓库号为外码,工资的限定条件为1000<=工资<=5000。

3)创建供应商表,由以下属性组成:供应商号(CHAR型),供应商名(CHAR型),地址(CHAR 型)。

其中供应商号为主码。

4)创建订购单表,由以下属性组成:职工号(CHAR型),供应商号(CHAR型),订购单号(CHAR 型),订购日期(CHAR型)。

其中订购单号为主码,职工号和供应商号为外码。

2.修改基本表1)往订购单表中增加一个新的属性“完成日期”,DATETIME型,并且允许为空值。

2)将职工表中的工资属性类型改为SMALLINT 型。

3)删除刚才在订购单表中加入的“完成日期”属性。

二、索引操作1.建立索引1)在订购单表上建立关于供应商号的普通索引supidx。

2)在订购单表的多个字段建立索引sup_empidx,先按照供应商号升序索引,然后按照职工号升序索引。

2.删除索引1)删除订购单表上的索引supidx。

2)删除订购单表上的索引sup_empidx。

(二)数据操作一、插入数据1)向仓库表插入下列数据:WH1,北京,370WH2,上海,500WH3,广州,200WH4,武汉,4002)向职工表插入下列数据:WH2,E1,1220WH4,E2,1270WH1,E3,1210WH2,E4,1250WH3,E5,1200WH3,E6,1230WH1,E7,12503)向供应商表插入下列数据: S1,利民电子元件厂,上海S2,联华电子公司,武汉S3,振华电子厂,西安S4,华通电子公司,北京S5,607 厂,郑州S7,爱华电子厂,北京4)向订购单表插入下列数据: E3,S7,OR67,20020623E1,S4,OR73,20020728E7,S4,OR76,20020525E6,NULL,OR77,NULLE3,S5,OR79,20020613E1,NULL,OR80,NULLE3,NULL,OR90,NULLE3,S3,OR91,20020713二、查询操作1.单表查询1)查询工资多于1210 元的职工所在仓库的仓库号。

数据结构实验报告实验总结

数据结构实验报告实验总结

数据结构实验报告实验总结本次数据结构实验主要涉及线性表、栈和队列的基本操作以及链表的应用。

通过实验,我对这些数据结构的特点、操作和应用有了更深入的了解。

下面对每一部分实验进行总结。

实验一:线性表的基本操作线性表是一种常见的数据结构,本实验要求实现线性表的基本操作,包括插入、删除、查找、遍历等。

在实验过程中,我对线性表的结构和实现方式有了更清晰的认识,掌握了用数组和链表两种方式实现线性表的方法。

实验二:栈的应用栈是一种后进先出(LIFO)的数据结构,本实验要求利用栈实现简单的括号匹配和后缀表达式计算。

通过实验,我了解到栈可以方便地实现对于括号的匹配和后缀表达式的计算,有效地解决了对应的问题。

实验三:队列的应用队列是一种先进先出(FIFO)的数据结构,本实验要求利用队列实现银行排队和迷宫求解。

通过实验,我对队列的应用有了更加深入的了解,了解到队列可以解决需要按顺序处理的问题,如排队和迷宫求解等。

实验四:链表的应用链表是一种常用的数据结构,本实验要求利用链表实现学生信息管理系统。

通过实验,我对链表的应用有了更深入的了解,了解到链表可以方便地实现对于数据的插入、删除和修改等操作,并且可以动态地调整链表的长度,适应不同的需求。

通过本次实验,我掌握了线性表、栈、队列和链表的基本操作,并了解了它们的特点和应用方式。

同时,通过实际编程的过程,我对于数据结构的实现方式和效果有了更直观的认识,也锻炼了自己的编程能力和解决问题的能力。

在实验过程中,我遇到了一些问题,如程序逻辑错误和内存泄漏等,但通过调试和修改,最终成功解决了这些问题,对自己的能力也有了更多的信心。

通过本次实验,我深刻体会到了理论与实践的结合的重要性,也对于数据结构这门课程有了更加深入的理解。

总之,本次数据结构实验给予了我很多有益的启发和收获,对于数据结构的概念、特点和应用有了更深入的理解。

在以后的学习中,我会继续加强对数据结构的学习和研究,不断提高自己的编程能力和解决问题的能力。

南邮数据结构实验三

南邮数据结构实验三

南邮数据结构实验三南京邮电大学数据结构实验三、链表的基本操作实验目的本次实验的主要目的是理解链表的概念,掌握链表的基本操作,包括链表的创建、插入、删除和遍历。

实验内容本次实验分为以下几个部分:1、链表的定义与创建1.1 链表的概念链表是一种常见的数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。

链表可以分为单链表、双链表和循环链表等不同类型。

本次实验将创建一个单链表。

1.2 链表节点的定义链表节点包含两个成员变量,分别是数据域和指针域。

数据域用于存储节点的数据,指针域指向下一个节点。

1.3 链表的创建在主函数中创建一个空链表,并添加一些初始数据,用于后续的操作。

2、链表的插入操作2.1 插入节点的位置链表的插入操作需要指定节点插入的位置,可以在链表的头部、尾部或者中间插入新节点。

2.2 插入节点的操作根据所选位置,在链表中插入新节点,并更新相应的指针。

3、链表的删除操作3.1 删除节点的位置链表的删除操作需要指定节点删除的位置,可以删除头节点、尾节点或者中间节点。

3.2 删除节点的操作根据所选位置,删除链表中的节点,并更新相应的指针。

4、链表的遍历操作通过循环遍历链表的所有节点,并输出每个节点的数据。

附件说明本文档涉及以下附件:附件1:源代码附件2:实验报告法律名词及注释本文所涉及的法律名词及注释如下:1、数据结构:数据的存储方式和操作组成的集合。

在计算机科学中,数据结构是计算机中存储、组织数据的方式。

2、链表:链表是一种常见的数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。

3、节点:链表中的一个元素,包含数据域和指针域。

4、数据域:节点中存储的数据。

5、指针域:节点中指向下一个节点的指针。

6、插入操作:在链表中插入一个新节点。

7、删除操作:从链表中删除一个节点。

8、遍历操作:按照一定的顺序访问链表中的所有节点。

全文结束。

实验3 顺序表的基本操作

实验3 顺序表的基本操作
return j;
}
//7、求指定元素的前驱
Status PriorElem_L(LinkList L, ElemType cur_e, ElemType *pre_e){
int i,j;
struct LNode *p;
i=LocateElem_L( L, cur_e);
typedef struct LNode{
ElemType date;
struct LNode *next;
}LNode,*LinkList;
//向线性表中传值
Status CreateList_L(LinkList L){
int i,n;
struct LNode *p;
switch(select){
case 1: //1.初始化一个线性表
{
leave=1;
InitList_L(&L);
printf("初始化线性表成功!\n");
printf("请向线性表中传值!\n");
CreateList_L(L);
printf("************ 7.求前驱 ***************\n");
printf("************ 8.求后继 ***************\n");
printf("************ 9.在线性表指定位置插入元素***************\n");
return OK;
}
//4、判断线性表是否为空
Status ListEmpty_L(LinkList L){
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三表的基本操作一、实验目的1.掌握表建立的方法以及修改表结构的方法。

2.掌握表中数据输入的方法。

3.掌握记录指针的移动方法。

4.掌握表的基本操作:追加、插入、修改、显示、删除和恢复记录。

5.掌握表中的数据访问控制方式。

6.掌握表的排序和索引及使用。

7.掌握多个工作区和多表的操作方法。

二、实验内容和步骤1.创建自由表。

(1)创建学生情况表(xsqk.dbf)表结构如下:字段名类型宽度小数位索引 null学号 C 8姓名 C 8性别 C 2专业 C 12出生日期 D 8入学分数 N 3 0团员 L 1备注 M 4照片 G 4①在D盘创建学生管理文件夹,选择“工具/选项/文件位置”把该文件夹设为VFP的默认工作目录。

②选择“文件/新建/表/新建文件”,在“创建”对话框中的输入表名文本框输入“xsqk”,单击“保存”按钮。

③进入图1所示的表设计器,依次设置表的所有字段名字、类型、宽度和小数位数。

最后单击“确定”按钮。

④系统提示现在录入记录吗,单击“是”,录入下面两条记录。

⑤录入两条记录完毕,选择“显示/浏览…”命令查看录入的两条记录。

⑥ 选择“查看/追加方式”命令,继续输入以下三条记录。

⑦ 选择“显示/表设计器”命令,或在命令窗口输入“MODIFY STRUCTURE ”,打开表设计器,修改表结构,在性别后加一字段籍贯(c,20)。

(2)创建课程表(kc.dbf )① 表结构如下:字段名 类型 宽度 小数位 索引 null 课程号 C 4 课程名 C 12学分 N 1 0 先修课 C 10② 表结构建立完毕,输入以下记录:(3)创建成绩表(cj.dbf ) ① 表结构如下:字段名 类型 宽度 小数位 索引 null 学号 C 8 课程号 C 4 学期C 1图1 表设计器成绩 N 3 0 ② 在表中输入以下记录:2.打开表并查看表中记录。

(1)显示学生情况表(xsqk.dbf )中的记录。

菜单操作:①选择“文件/打开”命令,在打开对话框中把文件类型设为“表(*.dbf )”,如图2所示。

② 选定“xsqk.dbf ”,单击“确定”按钮,即打开xsqk表,观察主窗口中状态栏的变化。

③ 选择“显示/浏览…”命令,即可浏览查看xsqk 表中的记录。

命令法:① 打开表: USE xsqk ② 浏览记录:BROWSE ③ 关闭表:USE(2)用菜单操作和命令两种方法显示课程表(kc.dbf )中的记录。

图2 “打开”对话框(3)用菜单操作和命令两种方法显示成绩表(cj.dbf)中的记录。

3.表中记录定位。

(1)打开学生情况表(xsqk.dbf),将记录指针指向第1记录,并测试函数recno(),eof(),bof()的结果。

菜单操作:①打开xsqk.dbf,选择“显示/浏览…”命令,浏览表中记录。

②选择“表/转到记录/第一个”命令。

③在命令窗口输入命令:?recno(),eof(),bof()④显示结果为:1 .F. .F.命令法:①打开表: USE xsqk②定位记录:GO 1③测试函数结果:?recno(),eof(),bof()1 .F. .F.(2)分别用菜单法和命令法进行下列操作,然后把测试结果填入表中。

移动记录指针测试函数的值(3)条件定位①打开表: USE xsqk②查找姓名为张晓伟的记录。

命令:Use xsqkLocate for 姓名=”张晓伟”③在命令窗口用found()函数和Eof()函数测试是否找到该记录。

Found()函数的值是:.T.分析结果:在表中有姓名为张晓伟的记录,所以结果为.T.Eof ()函数的值是:.F.分析结果:在表中找到了张晓伟的记录,记录指针指向最后一条记录 4.修改表中记录。

把课程表中所有3学分改为4学分。

(1)用手工方式修改表中记录。

① 选择“文件/打开”命令,打开课程表(kc.dbf )。

② 选择“显示/浏览…”命令,浏览表。

③ 移动记录指针到学分为3的地方,直接输入4即可。

注意:修改时一定要小心谨慎。

(2)批量修改记录。

把课程表中所有4学分重新改为3学分。

菜单操作:① 选择“文件/打开”命令,打开课程表(kc.dbf )。

② 选择“显示/浏览…”命令,浏览表。

③ 选择“表/替换字段”命令,打开图3所示“替换字段”对话框。

④ 把所有学分为4的课程的学分改为3。

命令法:① 打开表: USE kc② 把所有学分为4的课程的学分重新改为3。

命令:use kcReplace all kc.学分 with 3 for kc.学分=4图4 替换字段对话框5.删除与恢复表中记录。

(1)逻辑删除学生情况表(xsqk.daf)中专业为“市场营销”的所有记录。

菜单操作:①选择“文件/打开”命令,打开学生情况表(xsqk.dbf)。

②选择“显示/浏览…”命令,浏览表。

③选择“表/删除记录”命令,打开图5所示“删除”对话框。

④在“删除”对话框设置删除专业为“市场营销”的记录。

⑤单击“确定”按钮,所有“市场营销”专业的记录打上了黑色删除标记。

图5 删除对话框命令法:①打开表:USE xsqk②逻辑删除专业为“市场营销”的记录。

命令:use xsqkDelete all for xsqk. 专业=”市场营销”(2)物理删除记录和恢复记录去掉张晓伟所打的删除标记,彻底删除其他打上删除标记的记录。

菜单操作:①选择“文件/打开”命令,打开学生情况表(xsqk.dbf)。

②选择“显示/浏览…”命令,浏览表。

③用鼠标单击记录张小伟前的黑色删除标记,即可去掉删除标记。

也可选择“表/恢复记录”命令去掉删除标记。

④选择“表/彻底删除”命令可以物理删除已打上删除标记的记录。

命令法:①打开表:USE xsqk②恢复张小伟这条记录。

命令:use xsqkRecall for 姓名=”张晓伟”③物理删除其它打上删除标记的记录。

命令:pack6.表的排序与索引。

(1)表的排序对学生情况表(xsqk.daf)按入学分数从高到低排序生成表文件rxfs.dbf,并检查排序结果。

命令:use xsqkSort to rxfs on 入学分数/dUse rxfsBrowse last(2)建立表的索引对学生情况表(xsqk.dbf)建立以学号为主关键字的候选索引xh。

菜单操作:①选择“文件/打开”命令,打开学生情况表(xsqk.dbf)。

②选择“显示/表设计器”命令,打开表设计器。

③在“索引”区域选择升序或降序。

④单击“索引”选项卡,打开如图6所示的建立索引对话框,在索引名处输入“xh”,类型设为“候选索引”,单击“确定”按钮。

图6 建立索引命令法:①打开表: USE xsqk②建立索引:INDEX ON学号 TAG xh CANDIDATE参照以上两种方法对学生情况表建立以下索引:①以姓名为关键字建立普通索引xm。

②以出生日期为关键字建立普通索引csrq。

③以入学分数为关键字建立普通索引rxfs且降序排列。

USE xsqkINDEX ON 姓名 TAG xm CANDIDATEINDEX ON 出生日期 TAG csrq CANDIDATEINDEX ON 入学分数 TAG rxfs DESCENDING参照以上两种方法对成绩表cj.dbf建立以下索引:①以学号为关键字建立普通索引xh;②以课程号为关键字建立普通索引kch;③以学号+课程号为关键字建立候选索引(xhkc)USE cjINDEX ON 学号 TAG xh CANDIDATEINDEX ON 课程号 TAG kch CANDIDATEINDEX ON 学号+课程号 TAG xhkc CANDIDATE(3)索引查询的使用。

按姓名查询张晓伟的情况,并测试是否找到,如果找到显示结果。

①打开学生情况表(xsqk.dbf):USE xsqk②把姓名为关键字建立的普通索引xm作为主控索引:SET ORDER TO TAG xm③索引查找: SEEK ”张晓伟”④测试查找结果:?RECNO(),FOUND()3 .T.⑤显示查找结果:DISPLAY参照上述步骤查找学号为“20070105”的学生情况,并测试是否找到,如果找到显示结果。

写出命令序列:Use xsqkSet order to tag xhSeek “20070105”?recno(),found()结果: 4 .T.参照上述步骤查找出生日期为“12/01/88”的学生情况,并测试是否找到,如果找到显示结果。

写出命令序列:USE xsqkSet order to tag csrqSeek {^1988-12-01}?recno(),found()结果:4 .T.7.多个工作区操作。

(1)练习在多个工作区打开多个表。

菜单操作:①选择“窗口/数据工作期”命令,打开数据工作期对话框。

②依次选择“打开”按钮,打开xsqk,kc,cj三个表,如图7所示。

③选中工作表,单击“关闭”按钮可以依次关闭所有表。

图7 数据工作期窗口命令法:①在1区打开学生情况表:SELECT 1USE xsqk②在 2区打开课程表:SELECT 2USE kc③在3区打开成绩表:SELECT 3USE cj④关闭所有打开的表:CLOSE TABLES(2)多表数据查询。

列出李小霞所选的课程号及成绩。

①在1区打开学生情况表(xsqk.dbf)定位李小霞。

命令:Select 1Use xsqkSet order to xmSeek “李小霞”disply②在2区打开成绩表(cj.dbf),显示成绩表中和1区学号相同的记录就是李小霞的成绩。

(要求:最后显示的字段有学号,姓名,课程号,成绩)命令:Select 1Use xsqkSet order to xmSeek 李小霞Select 2Use cjList fields 学号,课程号,成绩,xsqk.姓名 for 学号=xsqk.学号 off(3)表的关联创建学生情况表(xsqk.dbf )和成绩表(cj.dbf )的一对多关联,并显示关联结果。

菜单操作:① 选择“窗口/数据工作期”命令,打开数据工作期对话框。

② 依次打开表xsqk 和cj 。

③ 选中cj 表,单击“属性”命令按钮,把cj 表的索引顺序选为xh 。

④ 选中xsqk 表,单击“关系”按钮,然后单击cj 表,在图8所示的“表达式生成器”对话框中选择“学号”字段,单击“确定”按钮。

两表已经建立关联。

⑤ 单击“一对多”按钮,为两表建立一对多关联。

⑥ 在命令窗口输入命令“BROWSE FIELDS 姓名,cj.课程号,cj.成绩”,显示一对多关联后结果,如图9所示。

命令法:① 选择工作区1打开学生情况表(xsqk.dbf )。

命令:② 选择工作区2打开成绩表(cj.dbf ),并把按学号字段建立的索引作为主索引。

相关文档
最新文档