PROGRAM 9
IDENTIFICATION DIVISION. PROGRAM-ID. PROJECT9. AUTHOR. ANTHONY F. ORTIZ. ****************************** * HONEST ABE'S CARPETORIUM * ****************************** DATA DIVISION. WORKING-STORAGE SECTION. 01 PROGRAM-CONSTANTS. 02 ERROR-MESSAGE PIC X(28) VALUE ' ERROR, TYPE 1, 2, OR 3.'. 02 ERASE-ERROR-MESSAGE PIC X(27) VALUE SPACES. 01 PROGRAM-VARIABLES. 02 INPUT-VARIABLES. 03 IN-CHOICE PIC 9(1) VALUE ZERO. 03 IN-WIDTH PIC 999 VALUE ZERO. 03 IN-LENGTH PIC 999 VALUE ZERO. 03 IN-ANS PIC X VALUE SPACES. 02 PROCESS-VARIABLES. 03 PROCESS-AREA PIC 999999 VALUE ZERO. 03 PROCESS-COST PIC 9999999 VALUE ZERO. 02 OUTPUT-VARIABLES. 03 OUT-AREA PIC ZZZ,ZZ9.99 VALUE ZERO. 03 OUT-COST PIC $$,$$$,$$9.99 VALUE ZERO. 01 PROGRAM-TABLE. 02 PER-YARD-COSTS-TABLE. 03 PER-YARD-COST-CONSTANTS. 04 PER-YARD-COST PIC 99V99 VALUE 12.00. 04 PER-YARD-COST PIC 99V99 VALUE 18.00. 04 PER-YARD-COST PIC 99V99 VALUE 22.00. 03 PER-YARD-COST-TABLE REDEFINES PER-YARD-COST-CONSTANTS PIC 99V99 OCCURS 3 TIMES. PROCEDURE DIVISION. MAIN-LINE. PERFORM PRINT-MENU. PERFORM GET-CHOICE UNTIL IN-CHOICE IS NUMERIC AND IN-CHOICE >= 1 AND IN-CHOICE <= 3. PERFORM GET-LENGTH-WIDTH. PERFORM COMPUTE-AREA-COST. PERFORM DISPLAY-AREA-PRICE. PERFORM DO-AGAIN. PRINT-MENU. DISPLAY " " LINE 1 COL 1 WITH BLANK SCREEN. DISPLAY "HONEST ABE'S CARPETORIUM" LINE 1 COL 28. DISPLAY "CARPET TYPES COST/YARD" LINE 3 COL 27. DISPLAY "1. QUALITY - $12.00" LINE 5 COL 27. DISPLAY "2. PREMIUM - $18.00" LINE 7 COL 27. DISPLAY "3. SUPERIOR - $22.00" LINE 9 COL 27. DISPLAY "CARPET TYPE DESIRED:" LINE 11 COL 17. DISPLAY "LENGTH DESIRED:" LINE 13 COL 22. DISPLAY "WIDTH DESIRED:" LINE 13 COL 56. DISPLAY "YARDS NEEDED:" LINE 15 COL 24. DISPLAY "PRICE:" LINE 15 COL 64. GET-CHOICE. ACCEPT IN-CHOICE LINE 11 COL 38. IF IN-CHOICE IS NOT NUMERIC OR IN-CHOICE < 1 OR IN-CHOICE > 3 DISPLAY ERROR-MESSAGE LINE 11 COL 38 ELSE DISPLAY ERASE-ERROR-MESSAGE LINE 11 COL 39. GET-LENGTH-WIDTH. ACCEPT IN-LENGTH LINE 11 COL 38. ACCEPT IN-WIDTH LINE 11 COL 71. COMPUTE-AREA-COST. COMPUTE PROCESS-AREA = ((IN-LENGTH * IN-WIDTH) / 9) + 1. COMPUTE PROCESS-COST = PROCESS-AREA * PER-YARD-COST-TABLE (IN-CHOICE). DISPLAY-AREA-PRICE. MOVE PROCESS-AREA TO OUT-AREA. MOVE PROCESS-COST TO OUT-COST. DISPLAY OUT-AREA LINE 15 COL 38. DISPLAY OUT-COST LINE 15 COL 71. DO-AGAIN. DISPLAY "WOULD YOU LIKE TO RUN THIS PROGRAM AGAIN (Y/N)? " LINE 13 COL 17. ACCEPT IN-ANS LINE 13 COL 38. IF IN-ANS = "Y" OR IN-ANS = "y" PERFORM MAIN-LINE ELSE DISPLAY " " LINE 1 COL 1 WITH BLANK SCREEN. * OUTFILE: PROG9.OUT * HONEST ABE'S CARPETORIUM CARPET TYPES COST/YARD 1. QUALITY - $12.00 2. PREMIUM - $18.00 3. SUPERIOR - $22.00 CARPET TYPE DESIRED: LENGTH DESIRED: 100 WIDTH DESIRED: 100 YARDS NEEDED: 1112 PRICE: $13344.00 WOULD YOU LIKE TO RUN THIS PROGRAM AGAIN (Y/N)? n
BACK TO CIS165 PAGE.