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