Sunday, September 8, 2019

EVALUATE in COBOL

EVALUATE statement in COBOL is similar to Case or Switch statements of other languages. If any EVALUATE WHEN conditions satisfies, the list of statements will be executed under the WHEN and control will transfers to the next executable statementafter ending of EVALUATE.


1)
       IDENTIFICATION DIVISION.
       PROGRAM-ID. EVAL1.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 GROUP1 PIC 9(2).
       88 A VALUE 1 THRU 5.
       88 B VALUE 6 THRU 10.
       88 C VALUE 11 THRU 15.
       88 D VALUE 16 THRU 20.
       PROCEDURE DIVISION.
           ACCEPT GROUP1.
           EVALUATE TRUE
           WHEN(GROUP1 >= 0 AND GROUP1 <= 5)
           DISPLAY 'VALUE OF A IS:' GROUP1
           WHEN(GROUP1 >= 6 AND GROUP1 <= 10)
           DISPLAY 'VALUE OF B IS:' GROUP1
           WHEN(GROUP1 => 11 AND GROUP1 < 15)
           DISPLAY 'VALUE OF C' GROUP1
           WHEN(GROUP1 => 16 AND GROUP1 < 20)
           DISPLAY 'VALUE OF D' GROUP1
           WHEN OTHER
           DISPLAY 'INVALID VALUE'
           END-EVALUATE.
           STOP RUN.
2)
          IDENTIFICATION DIVISION.
       PROGRAM-ID. EVAL2.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 CHAR PIC X.
       88 VOWEL VALUE "A","E","I","O","U".
       88 DIGIT VALUE "0" THRU "9".
       PROCEDURE DIVISION.
          ACCEPT CHAR.
          EVALUATE TRUE
          WHEN VOWEL DISPLAY " THE ENTERED VALUE IS A VOWEL "
          WHEN DIGIT DISPLAY " THE ENTERED VALUE IS A DIGIT "
          WHEN OTHER DISPLAY " THE ENTERED VALUE IS A ANOTHER CHAR "
          END-EVALUATE.
          STOP RUN.

No comments:

Post a Comment