精通cobol--9.6.1 如何定义用于直接查找的表

  在使用表进行数据查找时,首先应明确数据编号这个概念。数据编号是由人为指定的,用于代表相应数据的一种编号。编号通常为数字形式,也可看作一项数据,并不等同于下标。

用于直接查找的表中数据的编号和存储位置是相同的,因此在定义该表中不必指定数据编号。数据的编号直接由其所在位置确定。因此,定义用于直接查找的表时往往只用包含一个条目,即数据的条目。例如,对于一个大学里全体人员的管理系统,可简单的将各人员的数据定义如下。

01  UNI-ROLE-TABLE.             

    05  ROLE          PIC X(10)                     /*大学里各人员对应的角色*/

                        OCCURES 8 TIMES.           /*共有8种不同的角色*/

在实际应用中,还需将该表进行初始化。这里可通过上节所讲到的任意一种初始化表的方法进行初始化。即硬性编码方式或输入载入方式。不妨假设没有对应的输入加载数据文件,则可通过硬性编码方式初始化表,代码如下。

01  UNI-ROLE-VALUES. 

05  FILLER      PIC X(10)    VALUE  ‘FRESHMAN’.

05               PIC X(10)    VALUE  ‘SOPHOMORE’.

05               PIC X(10)    VALUE  ‘JUNIOR’.

05               PIC X(10)    VALUE  ‘SENIOR’.

05               PIC X(10)    VALUE  ‘MASTER’.

05               PIC X(10)    VALUE  ‘DOCTOR’.

05               PIC X(10)    VALUE  ‘FACULTY’.

05               PIC X(10)    VALUE  ‘STAFF’.

01  UNI-ROLE-TABLE  REDEFINES  UNI-ROLE-VALUES.

    05   ROLE      PIC X(10)     OCCURS 8 TIMES.

初始化后的表结构如表所示。

  大学全体人员表

Freshman

Sophomore

Junior

Senior

Master

Doctor

Faculty

Staff

以上表格所包含的内容,从上到下依次为:大一学生、大二学生、大三学生、大四学生、研究生、博士生、全体教员和全体职员。其中每项数据所在表中的编号和其存储位置都是一一对应的。并且编号从数字1开始。例如,大一学生对应的编号为1,大二学生对应的编号为2,等等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值