       IDENTIFICATION DIVISION.
       PROGRAM-ID. TRAINLOG3FP.

       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT FLOG ASSIGN TO "fiets.dat"
               ORGANIZATION IS SEQUENTIAL.
           SELECT LLOG ASSIGN TO "loop.dat"
               ORGANIZATION IS SEQUENTIAL.
           SELECT ZLOG ASSIGN TO "zwem.dat"
               ORGANIZATION IS SEQUENTIAL.

       DATA DIVISION.
       FILE SECTION.

       FD  FLOG RECORD CONTAINS 23 CHARACTERS.
       01  F-REC.
           05 F-DATE     PIC X(8).
           05 F-DIST     PIC 9(2).
           05 F-TIME     PIC 9(5).
           05 F-HR       PIC 9(3).
           05 F-WEIGHT   PIC 9(3).
           05 F-FILLER   PIC X.

       FD  LLOG RECORD CONTAINS 23 CHARACTERS.
       01  L-REC.
           05 L-DATE     PIC X(8).
           05 L-DIST     PIC 9(2).
           05 L-TIME     PIC 9(5).
           05 L-HR       PIC 9(3).
           05 L-WEIGHT   PIC 9(3).
           05 L-FILLER   PIC X.

       FD  ZLOG RECORD CONTAINS 23 CHARACTERS.
       01  Z-REC.
           05 Z-DATE     PIC X(8).
           05 Z-DIST     PIC 9(2).
           05 Z-TIME     PIC 9(5).
           05 Z-HR       PIC 9(3).
           05 Z-WEIGHT   PIC 9(3).
           05 Z-FILLER   PIC X.

       WORKING-STORAGE SECTION.

       01 AGAIN PIC X VALUE "J".
       01 MENU-CHOICE PIC 9.

       01 WS-DATE     PIC X(8).
       01 WS-DIST-CODE PIC 9(2).
       01 WS-MIN      PIC 9(3).
       01 WS-SEC      PIC 9(2).
       01 WS-TOTALSEC PIC 9(5).
       01 WS-HR       PIC 9(3).
       01 WS-WEIGHT   PIC 9(3).

       PROCEDURE DIVISION.
       MAIN-LOOP.

           PERFORM UNTIL AGAIN = "N"

              DISPLAY "----------------------------------------"
              DISPLAY "        TRAINING REGISTRATIE"
              DISPLAY "----------------------------------------"
              DISPLAY "1. Fietsen (01/05/10/25)"
              DISPLAY "2. Lopen   (01/05/10)"
              DISPLAY "3. Zwemmen (20/50)"
              DISPLAY "Kies sport (1-3): "
              ACCEPT MENU-CHOICE

              DISPLAY "Datum (YYYYMMDD): "
              ACCEPT WS-DATE

              EVALUATE MENU-CHOICE
                 WHEN 1
                    DISPLAY "Afstandscode (01/05/10/25): "
                    ACCEPT WS-DIST-CODE
                 WHEN 2
                    DISPLAY "Afstandscode (01/05/10): "
                    ACCEPT WS-DIST-CODE
                 WHEN 3
                    DISPLAY "Afstandscode (20/50): "
                    ACCEPT WS-DIST-CODE
              END-EVALUATE

              DISPLAY "Minuten: "
              ACCEPT WS-MIN

              DISPLAY "Seconden: "
              ACCEPT WS-SEC

              COMPUTE WS-TOTALSEC = (WS-MIN * 60) + WS-SEC

              DISPLAY "Gemiddelde hartslag: "
              ACCEPT WS-HR

              DISPLAY "Lichaamsgewicht (kg): "
              ACCEPT WS-WEIGHT

              EVALUATE MENU-CHOICE

                 WHEN 1
                    OPEN EXTEND FLOG
                    MOVE WS-DATE     TO F-DATE
                    MOVE WS-DIST-CODE TO F-DIST
                    MOVE WS-TOTALSEC TO F-TIME
                    MOVE WS-HR       TO F-HR
                    MOVE WS-WEIGHT   TO F-WEIGHT
                    MOVE " "         TO F-FILLER
                    WRITE F-REC
                    CLOSE FLOG

                 WHEN 2
                    OPEN EXTEND LLOG
                    MOVE WS-DATE     TO L-DATE
                    MOVE WS-DIST-CODE TO L-DIST
                    MOVE WS-TOTALSEC TO L-TIME
                    MOVE WS-HR       TO L-HR
                    MOVE WS-WEIGHT   TO L-WEIGHT
                    MOVE " "         TO L-FILLER
                    WRITE L-REC
                    CLOSE LLOG

                 WHEN 3
                    OPEN EXTEND ZLOG
                    MOVE WS-DATE     TO Z-DATE
                    MOVE WS-DIST-CODE TO Z-DIST
                    MOVE WS-TOTALSEC TO Z-TIME
                    MOVE WS-HR       TO Z-HR
                    MOVE WS-WEIGHT   TO Z-WEIGHT
                    MOVE " "         TO Z-FILLER
                    WRITE Z-REC
                    CLOSE ZLOG

              END-EVALUATE

              DISPLAY "Nog een training registreren? (J/N): "
              ACCEPT AGAIN
              MOVE FUNCTION UPPER-CASE(AGAIN) TO AGAIN

           END-PERFORM.

           STOP RUN.
       END-PROGRAM. TRAINLOG3FP.

