Program in COBOL
IDENTIFICATION DIVISION
PROGRAM-ID. SUM-OF-PRICES.
AUTHOR.
SOURCE.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT INP-DATA ASSIGN TO INPUT.
SELECT RESULT-FILE ASSIGN TO OUTPUT.
DATA DIVISION.
FILE SECTION.
FD INP-DATA LABEL RECORD IS OMITTED.
01 ITEM-PRICE
02 ITEM PICTURE X(30).
02 PRICE PICTURE 9999V99.
02 FILLER PICTURE X(44).
FD RESULT-FILE LABEL RECORD IS OMITTED.
01 RESULT-LINE PICTURE X(132).
WORKING-STORAGE SECTION.
77 TOT PICTURE 999999V99, VALUE 0, USAGE IS COMPUTATIONAL.
77 COUNT PCITURE 9999, VALUE 0, USAGE IS COMPUTATIONAL.
01 SUM-LINE.
02 FILLER VALUE ' SUM ='PICTURE X(12).
02 SUM-OUT PICTURE $$,$$$,$$9.99.
02 FILLER VALUE ' NO. OF ITEMS ='PICTURE X(21).
02 COUNT-OUT PICTURE ZZZ9.99.
01 ITEM-LINE.
02 ITEM-OUT PICTURE X(30).
02 PRICE-OUT PICTURE ZZZ9.99.
PROCEDURE DIVISION.
START.
OPEN INPUT INP-DATA AND OUTPUT RESULT-FILE.
READ-DATA.
READ INP-DATA AT END GO TO PRINT-LINE.
ADD PRICE TO TOT.
ADD 1 TO COUNT.
MOVE PRICE TO PRICE-OUT.
MOVE ITEM TO ITEM-OUT.
WRITE RESULT-LINE FROM ITEM-LINE.
GO TO READ-DATA.
PRINT-LINE.
MOVE TOT TO SUM-OUT.
MOVE COUNT TO COUNT-OUT.
WRITE RESULT-LINE FROM SUM-LINE.
CLOSE INP-DATA AND RESULT-FILE.
STOP RUN.