000100 IDENTIFICATION DIVISION.
000200 PROGRAM-ID. CASH-REGISTER.
000300
000400 DATA DIVISION.
000500 WORKING-STORAGE SECTION.
000600 01  WS-INPUT.
000700     05  WS-ITEM-NAME  PIC X(20).
000800     05  WS-QUANTITY   PIC 9(4).
000900     05  WS-UNIT-PRICE PIC 9(6).
001000
001100 01  WS-CALC.
001200     05  WS-SUBTOTAL   PIC 9(9).
001300     05  WS-TAX        PIC 9(8).
001400     05  WS-TOTAL      PIC 9(9).
001500
001600 01  WS-OUTPUT.
001700     05  OUT-ITEM-NAME PIC X(20).
001800     05  OUT-SUBTOTAL  PIC ZZZ,ZZZ,ZZ9.
001900     05  OUT-TAX       PIC ZZZ,ZZZ,ZZ9.
002000     05  OUT-TOTAL     PIC ZZZ,ZZZ,ZZ9.
002100
002200 PROCEDURE DIVISION.
002300 MAIN-PROCEDURE.
002400* 標準入力から商品名、数量、単価を読み込み
002500     ACCEPT WS-ITEM-NAME
002600     ACCEPT WS-QUANTITY
002700     ACCEPT WS-UNIT-PRICE
002800
002900* 計算処理 (消費税 10%)
003000     MULTIPLY WS-QUANTITY BY WS-UNIT-PRICE GIVING WS-SUBTOTAL
003100     MULTIPLY WS-SUBTOTAL BY 0.10 GIVING WS-TAX
003200     ADD WS-SUBTOTAL WS-TAX GIVING WS-TOTAL
003300
003400* 編集用変数への代入（ゼロサプレス処理など）
003500     MOVE WS-ITEM-NAME TO OUT-ITEM-NAME
003600     MOVE WS-SUBTOTAL  TO OUT-SUBTOTAL
003700     MOVE WS-TAX       TO OUT-TAX
003800     MOVE WS-TOTAL     TO OUT-TOTAL
003900
004000* 結果の表示（英数字）
004100     DISPLAY "ITEM NAME: " OUT-ITEM-NAME
004200     DISPLAY "SUBTOTAL : " OUT-SUBTOTAL
004300     DISPLAY "TAX (10%): " OUT-TAX
004400     DISPLAY "TOTAL    : " OUT-TOTAL
004500
004600     STOP RUN.
