000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SCRNTUIT. 000003 AUTHOR. CAROL VAZQUEZ VILLAR. 000004 000005 ENVIRONMENT DIVISION. 000006 CONFIGURATION SECTION. 000007 SPECIAL-NAMES. 000008 SYMBOLIC CONSTANT 000009 BLACK IS 0 000010 BLUE IS 1 000011 GREEN IS 2 000012 CYAN IS 3 000013 RED IS 4 000014 MAGENTA IS 5 000015 BROWN IS 6 000016 WHITE IS 7. 000017 000018 DATA DIVISION. 000019 WORKING-STORAGE SECTION. 000020 01 STUDENT-DATA. 000021 05 STU-NAME. 000022 10 STU-LAST-NAME PIC X(15). 000023 10 STU-INITIALS PIC XX. 000024 05 STU-CREDITS PIC 9(2). 000025 05 STU-UNION-MEMBER PIC X. 000026 05 STU-SCHOLARSHIP PIC 9(4). 000027 05 STU-GPA PIC 9V99. 000028 000029 01 PASSWORD-VARIABLES. 000030 05 PASSWORD-ENTERED PIC X(5). 000031 88 VALID-PASSWORD VALUE 'COBOL' 'cobol'. 000032 05 TRIES-COUNTER PIC 9. 000033 88 TOO-MANY-TRIES VALUE 3. 000034 000035 01 CONTINUE-PROCESSING-SWITCH PIC X VALUE 'Y'. 000036 000037 01 INDIVIDUAL-CALCULATIONS. 000038 05 IND-TUITION PIC 9(4) VALUE ZEROS. 000039 05 IND-ACTIVITY-FEE PIC 9(2) VALUE ZEROS. 000040 05 IND-UNION-FEE PIC 9(2) VALUE ZEROS. 000041 05 IND-SCHOLARSHIP PIC 9(4) VALUE ZEROS. 000042 05 IND-BILL PIC S9(6) VALUE ZEROS. 000043 000044 01 DISPLAY-CALCULATIONS. 000045 05 DIS-TUITION PIC Z,ZZ9. 000046 05 DIS-ACTIVITY-FEE PIC Z9. 000047 05 DIS-UNION-FEE PIC Z9. 000048 05 DIS-SCHOLARSHIP PIC Z,ZZ9. 000049 05 DIS-BILL PIC $ZZZ,ZZ9CR. 000050 000051 01 CONSTANTS-AND-RATES. 000052 05 PRICE-PER-CREDIT PIC 9(3) VALUE 200. 000053 05 UNION-FEE PIC 9(2) VALUE 25. 000054 05 ACTIVITY-FEES. 000055 10 1ST-ACTIVITY-FEE PIC 99 VALUE 25. 000056 10 1ST-CREDIT-LIMIT PIC 99 VALUE 6. 000057 10 2ND-ACTIVITY-FEE PIC 99 VALUE 50. 000058 10 2ND-CREDIT-LIMIT PIC 99 VALUE 12. 000059 10 3RD-ACTIVITY-FEE PIC 99 VALUE 75. 000060 05 MINIMUM-SCHOLAR-GPA PIC 9V9 VALUE 2.5. 000061 000062 PROCEDURE DIVISION. 000063 000-PROCESS-STUDENT-DATA. 000064 PERFORM 100-PROCESS-PASSWORD. 000065 PERFORM UNTIL CONTINUE-PROCESSING-SWITCH = 'N' OR 'n' 000066 PERFORM 200-INPUT-STUDENT-INFO 000067 PERFORM 310-COMPUTE-INDIVIDUAL-BILL 000068 PERFORM 500-DISPLAY-STUDENT-BILL 000069 END-PERFORM. 000070 STOP RUN. 000071 000072 100-PROCESS-PASSWORD. 000073 PERFORM WITH TEST AFTER 000074 VARYING TRIES-COUNTER FROM 1 BY 1 000075 UNTIL VALID-PASSWORD OR TOO-MANY-TRIES 000076 DISPLAY 'ENTER PASSWORD: ' LINE 12 COLUMN 30 000077 WITH BLANK SCREEN 000078 FOREGROUND-COLOR BLACK 000079 BACKGROUND-COLOR WHITE 000080 ACCEPT PASSWORD-ENTERED LINE 12 COLUMN 46 000081 WITH REVERSE-VIDEO AUTO SECURE 000082 END-PERFORM. 000083 IF TOO-MANY-TRIES 000084 MOVE 'N' TO CONTINUE-PROCESSING-SWITCH 000085 DISPLAY 'SORRY, You tried too many times' 000086 LINE 24 COLUMN 22 WITH BLINK 000087 FOREGROUND-COLOR WHITE 000088 BACKGROUND-COLOR RED 000089 END-IF. 000090 000091 200-INPUT-STUDENT-INFO. 000092 DISPLAY '**********************************************' 000093 AT LINE 2 COLUMN 5 WITH BLANK SCREEN HIGHLIGHT 000094 FOREGROUND-COLOR CYAN 000095 BACKGROUND-COLOR BLUE. 000096 DISPLAY '* Enter the following information: *' 000097 AT LINE 3 COLUMN 5. 000098 DISPLAY '* *' 000099 AT LINE 4 COLUMN 5. 000100 DISPLAY '* Last Name: Initials: *' 000101 AT LINE 5 COLUMN 5. 000102 DISPLAY '* *' 000103 AT LINE 6 COLUMN 5. 000104 DISPLAY '* Credits: Union Member (Y/N): *' 000105 AT LINE 7 COLUMN 5. 000106 DISPLAY '* *' 000107 AT LINE 8 COLUMN 5. 000108 DISPLAY '* GPA: Scholarship Amount: *' 000109 AT LINE 9 COLUMN 5. 000110 DISPLAY '**********************************************' 000111 AT LINE 10 COLUMN 5. 000112 ACCEPT STU-LAST-NAME AT LINE 5 COLUMN 18 000113 WITH REVERSE-VIDEO. 000114 ACCEPT STU-INITIALS AT LINE 5 COLUMN 45. 000115 ACCEPT STU-CREDITS AT LINE 7 COLUMN 16. 000116 ACCEPT STU-UNION-MEMBER AT LINE 7 COLUMN 45 WITH AUTO. 000117 ACCEPT STU-GPA AT LINE 9 COLUMN 16 WITH AUTO. 000118 ACCEPT STU-SCHOLARSHIP AT LINE 9 COLUMN 45. 000119 000120 310-COMPUTE-INDIVIDUAL-BILL. 000121 PERFORM 410-COMPUTE-TUITION. 000122 PERFORM 430-COMPUTE-UNION-FEE. 000123 PERFORM 460-COMPUTE-ACTIVITY-FEE. 000124 PERFORM 490-COMPUTE-SCHOLARSHIP. 000125 COMPUTE IND-BILL = IND-TUITION + IND-UNION-FEE + 000126 IND-ACTIVITY-FEE - IND-SCHOLARSHIP 000127 SIZE ERROR DISPLAY 'SIZE ERROR FOR INDIVIDUAL BILL' 000128 END-COMPUTE. 000129 000130 410-COMPUTE-TUITION. 000131 COMPUTE IND-TUITION = PRICE-PER-CREDIT * STU-CREDITS 000132 SIZE ERROR DISPLAY 'SIZE ERROR FOR INDIVIDUAL TUITION' 000133 END-COMPUTE. 000134 000135 430-COMPUTE-UNION-FEE. 000136 IF STU-UNION-MEMBER = 'Y' or 'y' 000137 MOVE UNION-FEE TO IND-UNION-FEE 000138 ELSE 000139 MOVE ZERO TO IND-UNION-FEE 000140 END-IF. 000141 000142 460-COMPUTE-ACTIVITY-FEE. 000143 EVALUATE TRUE 000144 WHEN STU-CREDITS <= 1ST-CREDIT-LIMIT 000145 MOVE 1ST-ACTIVITY-FEE TO IND-ACTIVITY-FEE 000146 WHEN STU-CREDITS > 1ST-CREDIT-LIMIT 000147 AND STU-CREDITS <= 2ND-CREDIT-LIMIT 000148 MOVE 2ND-ACTIVITY-FEE TO IND-ACTIVITY-FEE 000149 WHEN STU-CREDITS > 2ND-CREDIT-LIMIT 000150 MOVE 3RD-ACTIVITY-FEE TO IND-ACTIVITY-FEE 000151 WHEN OTHER 000152 DISPLAY 'INVALID CREDITS FOR: ' STU-NAME 000153 END-EVALUATE. 000154 000155 490-COMPUTE-SCHOLARSHIP. 000156 IF STU-GPA > MINIMUM-SCHOLAR-GPA 000157 MOVE STU-SCHOLARSHIP TO IND-SCHOLARSHIP 000158 ELSE 000159 MOVE ZERO TO IND-SCHOLARSHIP 000160 END-IF. 000161 000162 500-DISPLAY-STUDENT-BILL. 000163 MOVE IND-TUITION TO DIS-TUITION. 000164 DISPLAY 'Tuition:' AT LINE 12 COLUMN 10. 000165 DISPLAY DIS-TUITION AT LINE 12 COLUMN 29. 000166 000167 MOVE IND-ACTIVITY-FEE TO DIS-ACTIVITY-FEE. 000168 DISPLAY 'Activity Fee:' AT LINE 13 COLUMN 10. 000169 DISPLAY DIS-ACTIVITY-FEE AT LINE 13 COLUMN 32. 000170 000171 MOVE IND-UNION-FEE TO DIS-UNION-FEE. 000172 DISPLAY 'Union Fee:' AT LINE 14 COLUMN 10. 000173 DISPLAY DIS-UNION-FEE AT LINE 14 COLUMN 32. 000174 000175 MOVE IND-SCHOLARSHIP TO DIS-SCHOLARSHIP. 000176 DISPLAY 'Less Scholarship: -' AT LINE 15 COLUMN 10. 000177 DISPLAY DIS-SCHOLARSHIP AT LINE 15 COLUMN 29. 000178 000179 DISPLAY '--------' AT LINE 16 COLUMN 27. 000180 MOVE IND-BILL TO DIS-BILL. 000181 DISPLAY 'Amount Due:' AT LINE 17 COLUMN 9. 000182 DISPLAY DIS-BILL AT LINE 17 COLUMN 26. 000183 DISPLAY 'Enter another student? (Y/N):' 000184 AT LINE 20 COLUMN 7. 000185 ACCEPT CONTINUE-PROCESSING-SWITCH AT LINE 20 COLUMN 37.