📜  COBOL – 继续声明

📅  最后修改于: 2022-05-13 01:54:34.200000             🧑  作者: Mango

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 和消息“余额不足”结束。