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.