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.
u/rbitton — 6 hours ago