精通cobol--9.12.1 使用SET语句对索引赋值

前面讲过,不能按照通常的方式,使用MOVE语句对索引变量赋值。对索引变量赋值,必须使用SET语句。下面结合几个小例子,具体谈谈如何使用SET语句进行赋值操作。

1)求取索引为3所对应的进货商品编号和名称。此处可以首先将索引变量STORE-NDX置为3。然后,再通过该索引变量引用所求数据,并将结果存入相应位置。代码如下。

SET  STORE-NDX  TO  3.                     /*这里使用SET语句对索引变量赋值*/

MOVE  STORE-ITEM-NUM  (STORE-NDX)  TO RESULT-NUM.

MOVE  STORE-ITEM-NAME  (STORE-NDX)  TO RESULT-NAME.

2)求取索引为5对应的进货商品编号以及售出商品编号。此处可以采用和例1中同样的方式,分别对STORE-NDXSALE-NDX赋值。然后,再通过这两个索引变量各自引用其对应的数据,完成操作。代码如下。

SET  STORE-NDX  TO  5.

SET  SALE-NDX    TO  5.

MOVE  STORE-ITEM-NUM  (STORE-NDX) TO RESULT-STORE-NUM.

MOVE  SALE-ITEM-NUM  (SALE-NDX) TO RESULT-SALE-NUM.

然而,注意到这里对两个索引变量所赋的值是一样的,都为数字5。因此,还可以通过SET语句对这两个变量统一进行赋值。这种方式下的代码如下。

SET  STORE-NDX  SALE-NDX  TO  5.

MOVE  STORE-ITEM-NUM  (STORE-NDX) TO RESULT-STORE-NUM.

MOVE  SALE-ITEM-NUM  (SALE-NDX) TO RESULT-SALE-NUM.

3)假设程序中另外存在两个整型数据变量,分别为INPUT-NUMOUTPUT-NUM。并且,其中INPUT-NUM变量中已保存有相应数据。现需引用索引为INPUT-NUM的卖出商品名称.。其后,再将此时的索引数值输出到OUTPUT-NUM变量中,以便观察。

对于本例而言,主要涉及到索引变量和其他通常变量之间的赋值操作。仍然使用SET语句完成操作。代码如下。

SET  INPUT-NUM  TO  SALE-NDX.

MOVE  SALE-ITEM-NAME  (SALE-NDX)  TO  RESULT-SALE-NAME.

SET  SALE-NDX   TO  OUTPUT-NUM.

你可能感兴趣的:(精通cobol--9.12.1 使用SET语句对索引赋值)