u/rbitton

▲ 2 r/tipping+1 crossposts

I fixed tipping culture (COBOL, production-ready)

IDENTIFICATION DIVISION.
PROGRAM-ID. TIP-CALC.

DATA DIVISION.
WORKING-STORAGE SECTION.
01 BILL-AMOUNT        PIC 9(5)V99.
01 APPROACH-COUNT     PIC 9(3).
01 GOOD-SERVICE-FLAG  PIC A VALUE 'N'.
01 BASE-TIP           PIC 9(5)V99.
01 APPROACH-TIP       PIC 9(5)V99.
01 BONUS-TIP          PIC 9(5)V99.
01 TOTAL-TIP          PIC 9(5)V99.
01 TIP-CAP            PIC 9(5)V99.

PROCEDURE DIVISION.
    COMPUTE BASE-TIP = BILL-AMOUNT * 0.05
    COMPUTE APPROACH-TIP = APPROACH-COUNT * 2
    IF GOOD-SERVICE-FLAG = 'Y'
        COMPUTE BONUS-TIP = BILL-AMOUNT * 0.03 + 2
    ELSE
        MOVE 0 TO BONUS-TIP
    END-IF
    COMPUTE TOTAL-TIP = BASE-TIP + APPROACH-TIP + BONUS-TIP
    COMPUTE TIP-CAP = BILL-AMOUNT * 0.20
    IF TOTAL-TIP > TIP-CAP
        MOVE TIP-CAP TO TOTAL-TIP
    END-IF
    STOP RUN.
reddit.com
u/rbitton — 6 hours ago