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.