       IDENTIFICATION DIVISION.
       PROGRAM-ID. SUMMARY3.

       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           COPY "OPTIONAL.CPY".
       DATA DIVISION.
       FILE SECTION.

       FD  FIETS-FILE.
       01  FIETS-REC.
           05 F-DATE       PIC X(8).
           05 F-DIST       PIC 9(5).
           05 F-TIMESEC    PIC 9(5).
           05 F-HR         PIC 9(3).
           05 F-WGT        PIC 9(3).

       FD  LOOP-FILE.
       01  LOOP-REC.
           05 L-DATE       PIC X(8).
           05 L-DIST       PIC 9(5).
           05 L-TIMESEC    PIC 9(5).
           05 L-HR         PIC 9(3).
           05 L-WGT        PIC 9(3).

       FD  ZWEM-FILE.
       01  ZWEM-REC.
           05 Z-DATE       PIC X(8).
           05 Z-DIST       PIC 9(5).
           05 Z-TIMESEC    PIC 9(5).
           05 Z-HR         PIC 9(3).
           05 Z-WGT        PIC 9(3).

       WORKING-STORAGE SECTION.

       01  EOF-FIETS       PIC X VALUE "N".
       01  EOF-LOOP        PIC X VALUE "N".
       01  EOF-ZWEM        PIC X VALUE "N".

       01  CNT-FIETS       PIC 9(4) VALUE 0.
       01  CNT-LOOP        PIC 9(4) VALUE 0.
       01  CNT-ZWEM        PIC 9(4) VALUE 0.

       01  SUMD-FIETS      PIC 9(7) VALUE 0.
       01  SUMD-LOOP       PIC 9(7) VALUE 0.
       01  SUMD-ZWEM       PIC 9(7) VALUE 0.

       01  SUMT-FIETS      PIC 9(7) VALUE 0.
       01  SUMT-LOOP       PIC 9(7) VALUE 0.
       01  SUMT-ZWEM       PIC 9(7) VALUE 0.

       01  SUMH-FIETS      PIC 9(7) VALUE 0.
       01  SUMH-LOOP       PIC 9(7) VALUE 0.
       01  SUMH-ZWEM       PIC 9(7) VALUE 0.

       01  SUMW-FIETS      PIC 9(7) VALUE 0.
       01  SUMW-LOOP       PIC 9(7) VALUE 0.
       01  SUMW-ZWEM       PIC 9(7) VALUE 0.

       01  AVG-HR          PIC 9(5)V9(2).
       01  AVG-WGT         PIC 9(5)V9(2).

       01  WS-TOTCNT       PIC 9(5).
       01  WS-TOTDIST      PIC 9(7).
       01  WS-TOTTIME      PIC 9(7).
       01  WS-TOTHR        PIC 9(7).
       01  WS-TOTWGT       PIC 9(7).

       PROCEDURE DIVISION.
       MAIN-LOGIC.

           OPEN INPUT FIETS-FILE
           OPEN INPUT LOOP-FILE
           OPEN INPUT ZWEM-FILE

           PERFORM READ-FIETS
           PERFORM UNTIL EOF-FIETS = "Y"
              ADD 1 TO CNT-FIETS
              ADD F-DIST    TO SUMD-FIETS
              ADD F-TIMESEC TO SUMT-FIETS
              ADD F-HR      TO SUMH-FIETS
              ADD F-WGT     TO SUMW-FIETS
              PERFORM READ-FIETS
           END-PERFORM

           PERFORM READ-LOOP
           PERFORM UNTIL EOF-LOOP = "Y"
              ADD 1 TO CNT-LOOP
              ADD L-DIST    TO SUMD-LOOP
              ADD L-TIMESEC TO SUMT-LOOP
              ADD L-HR      TO SUMH-LOOP
              ADD L-WGT     TO SUMW-LOOP
              PERFORM READ-LOOP
           END-PERFORM

           PERFORM READ-ZWEM
           PERFORM UNTIL EOF-ZWEM = "Y"
              ADD 1 TO CNT-ZWEM
              ADD Z-DIST    TO SUMD-ZWEM
              ADD Z-TIMESEC TO SUMT-ZWEM
              ADD Z-HR      TO SUMH-ZWEM
              ADD Z-WGT     TO SUMW-ZWEM
              PERFORM READ-ZWEM
           END-PERFORM

           CLOSE FIETS-FILE
           CLOSE LOOP-FILE
           CLOSE ZWEM-FILE

           COMPUTE WS-TOTCNT  = CNT-FIETS + CNT-LOOP + CNT-ZWEM
           COMPUTE WS-TOTDIST = SUMD-FIETS + SUMD-LOOP + SUMD-ZWEM
           COMPUTE WS-TOTTIME = SUMT-FIETS + SUMT-LOOP + SUMT-ZWEM
           COMPUTE WS-TOTHR   = SUMH-FIETS + SUMH-LOOP + SUMH-ZWEM
           COMPUTE WS-TOTWGT  = SUMW-FIETS + SUMW-LOOP + SUMW-ZWEM

           IF WS-TOTCNT > 0
              COMPUTE AVG-HR  = WS-TOTHR / WS-TOTCNT
              COMPUTE AVG-WGT = WS-TOTWGT / WS-TOTCNT
           END-IF

           DISPLAY "----------------------------------------"
           DISPLAY "SAMENVATTING PER SPORT"
           DISPLAY "----------------------------------------"

           DISPLAY "FIETS: Aantal=" CNT-FIETS
                   " Afstand=" SUMD-FIETS
                   " Tijd(sec)=" SUMT-FIETS

           DISPLAY "LOOP : Aantal=" CNT-LOOP
                   " Afstand=" SUMD-LOOP
                   " Tijd(sec)=" SUMT-LOOP

           DISPLAY "ZWEM : Aantal=" CNT-ZWEM
                   " Afstand=" SUMD-ZWEM
                   " Tijd(sec)=" SUMT-ZWEM

           DISPLAY "----------------------------------------"
           DISPLAY "TOTAAL"
           DISPLAY "----------------------------------------"

           DISPLAY "Aantal totaal: " WS-TOTCNT
           DISPLAY "Totale afstand: " WS-TOTDIST
           DISPLAY "Totale tijd(sec): " WS-TOTTIME
           DISPLAY "Gemiddelde hartslag: " AVG-HR
           DISPLAY "Gemiddeld gewicht: " AVG-WGT

           STOP RUN.

       READ-FIETS.
           READ FIETS-FILE
              AT END MOVE "Y" TO EOF-FIETS.
           EXIT.

       READ-LOOP.
           READ LOOP-FILE
              AT END MOVE "Y" TO EOF-LOOP.
           EXIT.

       READ-ZWEM.
           READ ZWEM-FILE
              AT END MOVE "Y" TO EOF-ZWEM.
           EXIT.

