       IDENTIFICATION DIVISION.
       PROGRAM-ID. TIMEDIFF.

       ENVIRONMENT DIVISION.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
      * Huidige datum/tijd via FUNCTION CURRENT-DATE
       01  WS-NOW-DATETIME.
           05  WS-NOW-YYYY   PIC 9(4).
           05  WS-NOW-MO     PIC 9(2).
           05  WS-NOW-DD     PIC 9(2).
           05  WS-NOW-HH     PIC 9(2).
           05  WS-NOW-MM     PIC 9(2).
           05  WS-NOW-SS     PIC 9(2).
           05  FILLER        PIC X(9).

      * Ingevoerde tijd
       01  WS-IN-HHMM       PIC 9(4).
       01  WS-IN-HH         PIC 99.
       01  WS-IN-MM         PIC 99.

      * Tijd in minuten
       01  WS-NOW-TOTAL     PIC 9(5).
       01  WS-IN-TOTAL      PIC 9(5).
       01  WS-DIFF          PIC 9(5).

      * Resultaat
       01  WS-OUT-HH        PIC 99.
       01  WS-OUT-MM        PIC 99.

       PROCEDURE DIVISION.
       MAIN-LOGIC.
           DISPLAY "----------------------------------------".
           DISPLAY "   ROCKET COBOL 11.0 TIJD BEREKENING".
           DISPLAY "----------------------------------------".

      * Huidige tijd ophalen via FUNCTION CURRENT-DATE
           MOVE FUNCTION CURRENT-DATE TO WS-NOW-DATETIME.

           DISPLAY "Huidige tijd: " WS-NOW-HH ":" WS-NOW-MM.

           DISPLAY "Voer doel-tijd in (HHMM): ".
           ACCEPT WS-IN-HHMM.

           MOVE WS-IN-HHMM(1:2) TO WS-IN-HH.
           MOVE WS-IN-HHMM(3:2) TO WS-IN-MM.

      * Omzetten naar minuten
           COMPUTE WS-NOW-TOTAL = (WS-NOW-HH * 60) + WS-NOW-MM.
           COMPUTE WS-IN-TOTAL  = (WS-IN-HH  * 60) + WS-IN-MM.

      * Als doel-tijd eerder is dan nu → volgende dag
           IF WS-IN-TOTAL < WS-NOW-TOTAL
              COMPUTE WS-IN-TOTAL = WS-IN-TOTAL + (24 * 60)
           END-IF.

      * Verschil berekenen
           COMPUTE WS-DIFF = WS-IN-TOTAL - WS-NOW-TOTAL.

      * Omzetten naar uren en minuten
           COMPUTE WS-OUT-HH = WS-DIFF / 60.
           COMPUTE WS-OUT-MM = WS-DIFF - (WS-OUT-HH * 60).

           DISPLAY "----------------------------------------".
           DISPLAY "Nog " WS-OUT-HH " uur en "
                   WS-OUT-MM " minuten tot de ingevoerde tijd.".
           DISPLAY "----------------------------------------".

           STOP RUN.

