COBOL – 继续声明
简单来说,可以将continue 语句想象为一个 Gatekeeper,他将为人们打开大门,让他们进入前提来完成他们的任务。同样, continue语句也将控制权转移到下一个 COBOL 语句以执行。
句法:
CONTINUE
让我们以 Cobol 中的 Continue 为例来更好地理解这个概念。
例子:
Cobol
IDENTIFICATION DIVISION.
PROGRAM-ID. DEMO1.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 WALLET PIC 9(05) VALUE ZERO.
01 STD-VAL PIC 9(05).
01 COST PIC 9(05).
01 STD-QUANTITY PIC 9(01) VALUE ZERO.
PROCEDURE DIVISION.
MOVE ZEROES TO WALLET.
DISPLAY 'ADD MONEY TO WALLET'
ACCEPT STD-VAL
DISPLAY 'MONEY ADDED: 'STD-VAL.
DISPLAY 'HOW MANY TICKET YOU WANT TO BUY 1 TICKET COST: 250'.
ACCEPT STD-QUANTITY
COMPUTE WALLET = WALLET + STD-VAL
COMPUTE COST = 250 * STD-QUANTITY
IF WALLET - COST >= 0
CONTINUE
ELSE
DISPLAY 'INSUFFICIENT BALANCE'
MOVE 16 TO RETURN-CODE
GOBACK
EXIT
END-IF.
COMPUTE WALLET = WALLET - COST
DISPLAY 'PURCHASE SUCCESSFUL BALANCE LEFT: ' WALLET.
STOP-RUN.
解释:
代码中会发生两种情况,这将由语句 IF WALLET – COST >= 0 CONTINUE 控制,这意味着如果钱包中的价值大于等于购买,它将成功交易并扣除钱从钱包中取出,如果钱包中的余额不足,它将退出并返回代码 16 和消息“余额不足”。
案例 1:人在钱包中添加了足够的钱并进行了购买。
输出:
在上面的示例中,您可以看到 Continue 语句如何移动流程以使交易发生并更新变量 WALLET 中的值,并且程序以返回码 0 结束。
案例 2:人没有在钱包中添加足够的钱并进行购买
输出:
在这种情况下,程序没有经过交易阶段,并以返回码 16 和消息“余额不足”结束。