Monday, 1 July 2013

COBOL - OCCUR Example program

       IDENTIFICATION DIVISION.
       PROGRAM-ID. OCCUR1.
       DATA DIVISION.
       WORKING-STORAGE  SECTION.
       77  WS-NM             PIC    x(06).
       77  WS-TOT-MRK        PIC    9(04)  VALUE  0.
       77  WS-AVG-MRK        PIC    9(04)  VALUE  0.
       01  STU-TBL.
           05  STU-DET  OCCURS  5 TIMES  INDEXED BY X1.
               10  STU-NM       PIC    X(06).
               10  STU-RLNO  PIC    9(04).
               10  MRKA  PIC    9(03).
               10  MRKB  PIC    9(03).
               10  MRKC  PIC    9(03).
               10  MRKD  PIC    9(03).
               10  MRKE  PIC    9(03).
        PROCEDURE  DIVISION.
        0000-START.
            PERFORM VARYING X1  FROM  1 BY  1  UNTIL  X1 > 5
              ACCEPT  STU-NM(X1)
              ACCEPT  STU-RLNO(X1)
              ACCEPT  MRKA(X1)
              ACCEPT MRKB(X1)
              ACCEPT  MRKC(X1)
              ACCEPT  MRKD(X1)
              ACCEPT  MRKE(X1)
            END-PERFORM.
            ACCEPT  WS-NM.
            SET  X1  TO  1.
            SEARCH  STU-DET
              AT END  DISPLAY  'STUDENT NAME NOT FOUND'
              WHEN  STU-NM(X1) = WS-NM
              COMPUTE WS-TOT-MRK = MRKA(X1) + MRKB(X1) + MRKC(X1) + MRKD(X1) + MRKE(X1)
              COMPUTE WS-AVG-MRK = WS-TOT-MRK / 5
              DISPLAY  'STUDENT FOUND'
              DISPLAY  'TOTAL MARK=', WS-TOT-MRK, ' AVERAGE MARK= ', WS-AVG-MRK
            END-SEARCH.
            STOP RUN.

No comments:

Post a Comment