000100 IDENTIFICATION DIVISION.
000200 PROGRAM-ID. CASH-REGISTER.
000300
000400 ENVIRONMENT DIVISION.
000500 CONFIGURATION SECTION.
000600
000700 DATA DIVISION.
000800 WORKING-STORAGE SECTION.
000900* INPUT VARIABLES
001000 01  ITEM-NAME     PIC X(20).
001100 01  QUANTITY      PIC 9(4).
001200 01  UNIT-PRICE    PIC 9(6).
001300
001400* CALCULATION VARIABLES
001500 01  SUB-TOTAL     PIC 9(9).
001600 01  TAX-AMOUNT    PIC 9(8).
001700 01  TOTAL-AMOUNT  PIC 9(9).
001800
001900* DISPLAY VARIABLES (FOR BEAUTIFUL OUTPUT)
002000 01  DISP-SUB      PIC ZZZ,ZZZ,ZZ9.
002100 01  DISP-TAX      PIC ZZ,ZZZ,ZZ9.
002200 01  DISP-TOTAL    PIC ZZZ,ZZZ,ZZ9.
002300
002400 PROCEDURE DIVISION.
002500 MAIN-PROCEDURE.
002600* READ INPUT DATA
002700     ACCEPT ITEM-NAME.
002800     ACCEPT QUANTITY.
002900     ACCEPT UNIT-PRICE.
003000
003100* CALCULATE SUB-TOTAL
003200     MULTIPLY QUANTITY BY UNIT-PRICE GIVING SUB-TOTAL.
003300
003400* CALCULATE 10% TAX (ROUNDED DOWN BY COBOL DEFAULT)
003500     MULTIPLY SUB-TOTAL BY 0.10 GIVING TAX-AMOUNT.
003600
003700* CALCULATE TOTAL
003800     ADD SUB-TOTAL TAX-AMOUNT GIVING TOTAL-AMOUNT.
003900
004000* SET DISPLAY FORMAT
004100     MOVE SUB-TOTAL   TO DISP-SUB.
004200     MOVE TAX-AMOUNT  TO DISP-TAX.
004300     MOVE TOTAL-AMOUNT TO DISP-TOTAL.
004400
004500* DISPLAY RECEIPT
004600     DISPLAY "-------------------------------------".
004700     DISPLAY "             RECEIPT                 ".
004800     DISPLAY "-------------------------------------".
004900     DISPLAY "ITEM     : " ITEM-NAME.
005000     DISPLAY "QTY      : " QUANTITY.
005100     DISPLAY "PRICE    : " UNIT-PRICE.
005200     DISPLAY "-------------------------------------".
005300     DISPLAY "SUB-TOTAL: " DISP-SUB.
005400     DISPLAY "TAX (10%): " DISP-TAX.
005500     DISPLAY "TOTAL    : " DISP-TOTAL.
005600     DISPLAY "-------------------------------------".
005700
005800     STOP RUN.