IDENTIFICATION DIVISION. PROGRAM-ID. ALL-STATE-ELECTION. ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT ELECTION-FILE ASSIGN TO "C:\Users\soyteen\Desktop\ELECTION.DAT" ORGANISATION IS LINE SEQUENTIAL. DATA DIVISION. FILE SECTION. FD ELECTION-FILE. 01 ELECTION-RECORD PIC X(80). WORKING-STORAGE SECTION. 01 STATE-ELEC. 03 STATE-VALUES. 05 STATE-CODE-TX PIC A(2) VALUE "TX". 05 ELEC-COLLAGE-TX PIC 9(2) VALUE 38. 05 VOTER-TURNOUT-TX PIC 9(9) VALUE 17000000. 05 NUM-KEY-TX PIC 9(2) VALUE 1. 05 STATE-CODE-AL PIC A(2) VALUE "AL". 05 ELEC-COLLEGE-AL PIC 9(2) VALUE 9. 05 VOTER-TURNOUT-AL PIC 9(9) VALUE 2527000. 05 NUM-KEY-AL PIC 9(2) VALUE 2. 05 STATE-CODE-AK PIC A(2) VALUE "AK". 05 ELEC-COLLEGE-AK PIC 9(2) VALUE 3. 05 VOTER-TURNOUT-AK PIC 9(9) VALUE 383000. 05 NUM-KEY-AK PIC 9(2) VALUE 3. 05 STATE-CODE-AR PIC A(2) VALUE "AR". 05 ELEC-COLLEGE-AR PIC 9(2) VALUE 6. 05 VOTER-TURNOUT-AR PIC 9(9) VALUE 1361000. 05 NUM-KEY-AR PIC 9(2) VALUE 4. 05 STATE-CODE-AZ PIC A(2) VALUE "AZ". 05 ELEC-COLLAGE-AZ PIC 9(2) VALUE 11. 05 VOTER-TURNOUT-AZ PIC 9(9) VALUE 4143929. 05 NUM-KEY-AZ PIC 9(2) VALUE 5. 05 STATE-CODE-CA PIC A(2) VALUE "CA". 05 ELEC-COLLAGE-CA PIC 9(2) VALUE 55. 05 VOTER-TURNOUT-CA PIC 9(9) VALUE 17501380. 05 NUM-KEY-CA PIC 9(2) VALUE 6. 05 STATE-CODE-CO PIC A(2) VALUE "CO". 05 ELEC-COLLAGE-CO PIC 9(2) VALUE 9. 05 VOTER-TURNOUT-CO PIC 9(9) VALUE 3256980. 05 NUM-KEY-CO PIC 9(2) VALUE 7. 05 STATE-CODE-CT PIC A(2) VALUE "CT". 05 ELEC-COLLAGE-CT PIC 9(2) VALUE 7. 05 VOTER-TURNOUT-CT PIC 9(9) VALUE 1823857. 05 NUM-KEY-CT PIC 9(2) VALUE 8. 05 STATE-CODE-DE PIC A(2) VALUE "DE". 05 ELEC-COLLAGE-DE PIC 9(2) VALUE 3. 05 VOTER-TURNOUT-DE PIC 9(9) VALUE 504346. 05 NUM-KEY-DE PIC 9(2) VALUE 9. 05 STATE-CODE-FL PIC A(2) VALUE "FL". 05 ELEC-COLLAGE-FL PIC 9(2) VALUE 29. 05 VOTER-TURNOUT-FL PIC 9(9) VALUE 11067456. 05 NUM-KEY-FL PIC 9(2) VALUE 10. 05 STATE-CODE-GA PIC A(2) VALUE "GA". 05 ELEC-COLLAGE-GA PIC 9(2) VALUE 16. 05 VOTER-TURNOUT-GA PIC 9(9) VALUE 4999960. 05 NUM-KEY-GA PIC 9(2) VALUE 11. 05 STATE-CODE-HI PIC A(2) VALUE "HI". 05 ELEC-COLLAGE-HI PIC 9(2) VALUE 4. 05 VOTER-TURNOUT-HI PIC 9(9) VALUE 574009. 05 NUM-KEY-HI PIC 9(2) VALUE 12. 05 STATE-CODE-ID PIC A(2) VALUE "ID". 05 ELEC-COLLAGE-ID PIC 9(2) VALUE 4. 05 VOTER-TURNOUT-ID PIC 9(9) VALUE 867934. 05 NUM-KEY-ID PIC 9(2) VALUE 13. 05 STATE-CODE-IL PIC A(2) VALUE "IL". 05 ELEC-COLLAGE-IL PIC 9(2) VALUE 20. 05 VOTER-TURNOUT-IL PIC 9(9) VALUE 6033744. 05 NUM-KEY-IL PIC 9(2) VALUE 14. 05 STATE-CODE-IN PIC A(2) VALUE "IN". 05 ELEC-COLLAGE-IN PIC 9(2) VALUE 11. 05 VOTER-TURNOUT-IN PIC 9(9) VALUE 3033210. 05 NUM-KEY-IN PIC 9(2) VALUE 15. 05 STATE-CODE-IA PIC A(2) VALUE "IA". 05 ELEC-COLLAGE-IA PIC 9(2) VALUE 6. 05 VOTER-TURNOUT-IA PIC 9(9) VALUE 1690871. 05 NUM-KEY-IA PIC 9(2) VALUE 16. 05 STATE-CODE-KS PIC A(2) VALUE "KS". 05 ELEC-COLLAGE-KS PIC 9(2) VALUE 6. 05 VOTER-TURNOUT-KS PIC 9(9) VALUE 1373986. 05 NUM-KEY-KS PIC 9(2) VALUE 17. 05 STATE-CODE-KY PIC A(2) VALUE "KY". 05 ELEC-COLLAGE-KY PIC 9(2) VALUE 8. 05 VOTER-TURNOUT-KY PIC 9(9) VALUE 2136768. 05 NUM-KEY-KY PIC 9(2) VALUE 18. 05 STATE-CODE-LA PIC A(2) VALUE "LA". 05 ELEC-COLLAGE-LA PIC 9(2) VALUE 8. 05 VOTER-TURNOUT-LA PIC 9(9) VALUE 2148768. 05 NUM-KEY-LA PIC 9(2) VALUE 19. 05 STATE-CODE-ME PIC A(2) VALUE "ME". 05 ELEC-COLLAGE-ME PIC 9(2) VALUE 2. 05 VOTER-TURNOUT-ME PIC 9(9) VALUE 819461. 05 NUM-KEY-ME PIC 9(2) VALUE 20. 05 STATE-CODE-MD PIC A(2) VALUE "MD". 05 ELEC-COLLAGE-MD PIC 9(2) VALUE 10. 05 VOTER-TURNOUT-MD PIC 9(9) VALUE 3037030. 05 NUM-KEY-MD PIC 9(2) VALUE 21. 05 STATE-CODE-MA PIC A(2) VALUE "MA". 05 ELEC-COLLAGE-MA PIC 9(2) VALUE 11. 05 VOTER-TURNOUT-MA PIC 9(9) VALUE 3631453. 05 NUM-KEY-MA PIC 9(2) VALUE 22. 05 STATE-CODE-MI PIC A(2) VALUE "MI". 05 ELEC-COLLAGE-MI PIC 9(2) VALUE 16. 05 VOTER-TURNOUT-MI PIC 9(9) VALUE 5539302. 05 NUM-KEY-MI PIC 9(2) VALUE 23. 05 STATE-CODE-MN PIC A(2) VALUE "MN". 05 ELEC-COLLAGE-MN PIC 9(2) VALUE 10. 05 VOTER-TURNOUT-MN PIC 9(9) VALUE 3277171. 05 NUM-KEY-MN PIC 9(2) VALUE 24. 05 STATE-CODE-MS PIC A(2) VALUE "MS". 05 ELEC-COLLAGE-MS PIC 9(2) VALUE 6. 05 VOTER-TURNOUT-MS PIC 9(9) VALUE 1313759. 05 NUM-KEY-MS PIC 9(2) VALUE 25. 05 STATE-CODE-MO PIC A(2) VALUE "MO". 05 ELEC-COLLAGE-MO PIC 9(2) VALUE 10. 05 VOTER-TURNOUT-MO PIC 9(9) VALUE 3025962. 05 NUM-KEY-MO PIC 9(2) VALUE 26. 05 STATE-CODE-MT PIC A(2) VALUE "MT". 05 ELEC-COLLAGE-MT PIC 9(2) VALUE 3. 05 VOTER-TURNOUT-MT PIC 9(9) VALUE 603673. 05 NUM-KEY-MT PIC 9(2) VALUE 27. 05 STATE-CODE-NE PIC A(2) VALUE "NE". 05 ELEC-COLLAGE-NE PIC 9(2) VALUE 2. 05 VOTER-TURNOUT-NE PIC 9(9) VALUE 603673. 05 NUM-KEY-NE PIC 9(2) VALUE 28. 05 STATE-CODE-NV PIC A(2) VALUE "NV". 05 ELEC-COLLAGE-NV PIC 9(2) VALUE 6. 05 VOTER-TURNOUT-NV PIC 9(9) VALUE 1405376. 05 NUM-KEY-NV PIC 9(2) VALUE 29. 05 STATE-CODE-NH PIC A(2) VALUE "NH". 05 ELEC-COLLAGE-NH PIC 9(2) VALUE 4. 05 VOTER-TURNOUT-NH PIC 9(9) VALUE 806205. 05 NUM-KEY-NH PIC 9(2) VALUE 30. 05 STATE-CODE-NJ PIC A(2) VALUE "NJ". 05 ELEC-COLLAGE-NJ PIC 9(2) VALUE 14. 05 VOTER-TURNOUT-NJ PIC 9(9) VALUE 4549475. 05 NUM-KEY-NJ PIC 9(2) VALUE 31. 05 STATE-CODE-NM PIC A(2) VALUE "NM". 05 ELEC-COLLAGE-NM PIC 9(2) VALUE 5. 05 VOTER-TURNOUT-NM PIC 9(9) VALUE 923965. 05 NUM-KEY-NM PIC 9(2) VALUE 32. 05 STATE-CODE-NY PIC A(2) VALUE "NY". 05 ELEC-COLLAGE-NY PIC 9(2) VALUE 29. 05 VOTER-TURNOUT-NY PIC 9(9) VALUE 8616861. 05 NUM-KEY-NY PIC 9(2) VALUE 33. 05 STATE-CODE-NC PIC A(2) VALUE "NC". 05 ELEC-COLLAGE-NC PIC 9(2) VALUE 15. 05 VOTER-TURNOUT-NC PIC 9(9) VALUE 5524804. 05 NUM-KEY-NC PIC 9(2) VALUE 34. 05 STATE-CODE-ND PIC A(2) VALUE "ND". 05 ELEC-COLLAGE-ND PIC 9(2) VALUE 3. 05 VOTER-TURNOUT-ND PIC 9(9) VALUE 362024. 05 NUM-KEY-ND PIC 9(2) VALUE 35. 05 STATE-CODE-OH PIC A(2) VALUE "OH". 05 ELEC-COLLAGE-OH PIC 9(2) VALUE 18. 05 VOTER-TURNOUT-OH PIC 9(9) VALUE 5922202. 05 NUM-KEY-OH PIC 9(2) VALUE 36. 05 STATE-CODE-OK PIC A(2) VALUE "OK". 05 ELEC-COLLAGE-OK PIC 9(2) VALUE 7. 05 VOTER-TURNOUT-OK PIC 9(9) VALUE 1560699. 05 NUM-KEY-OK PIC 9(2) VALUE 37. 05 STATE-CODE-OR PIC A(2) VALUE "OR". 05 ELEC-COLLAGE-OR PIC 9(2) VALUE 7. 05 VOTER-TURNOUT-OR PIC 9(9) VALUE 2374321. 05 NUM-KEY-OR PIC 9(2) VALUE 38. 05 STATE-CODE-PA PIC A(2) VALUE "PA". 05 ELEC-COLLAGE-PA PIC 9(2) VALUE 20. 05 VOTER-TURNOUT-PA PIC 9(9) VALUE 6936976. 05 NUM-KEY-PA PIC 9(2) VALUE 39. 05 STATE-CODE-RI PIC A(2) VALUE "RI". 05 ELEC-COLLAGE-RI PIC 9(2) VALUE 4. 05 VOTER-TURNOUT-RI PIC 9(9) VALUE 517757. 05 NUM-KEY-RI PIC 9(2) VALUE 40. 05 STATE-CODE-SC PIC A(2) VALUE "SC". 05 ELEC-COLLAGE-SC PIC 9(2) VALUE 9. 05 VOTER-TURNOUT-SC PIC 9(9) VALUE 2513329. 05 NUM-KEY-SC PIC 9(2) VALUE 41. 05 STATE-CODE-SD PIC A(2) VALUE "SD". 05 ELEC-COLLAGE-SD PIC 9(2) VALUE 3. 05 VOTER-TURNOUT-SD PIC 9(9) VALUE 422609. 05 NUM-KEY-SD PIC 9(2) VALUE 42. 05 STATE-CODE-TN PIC A(2) VALUE "TN". 05 ELEC-COLLAGE-TN PIC 9(2) VALUE 11. 05 VOTER-TURNOUT-TN PIC 9(9) VALUE 3035851. 05 NUM-KEY-TN PIC 9(2) VALUE 43. 05 STATE-CODE-UT PIC A(2) VALUE "UT". 05 ELEC-COLLAGE-UT PIC 9(2) VALUE 6. 05 VOTER-TURNOUT-UT PIC 9(9) VALUE 1488286. 05 NUM-KEY-UT PIC 9(2) VALUE 44. 05 STATE-CODE-VT PIC A(2) VALUE "VT". 05 ELEC-COLLAGE-VT PIC 9(2) VALUE 3. 05 VOTER-TURNOUT-VT PIC 9(9) VALUE 367438. 05 NUM-KEY-VT PIC 9(2) VALUE 45. 05 STATE-CODE-VA PIC A(2) VALUE "VA". 05 ELEC-COLLAGE-VA PIC 9(2) VALUE 13. 05 VOTER-TURNOUT-VA PIC 9(9) VALUE 4460524. 05 NUM-KEY-VA PIC 9(2) VALUE 46. 05 STATE-CODE-WA PIC A(2) VALUE "WA". 05 ELEC-COLLAGE-WA PIC 9(2) VALUE 12. 05 VOTER-TURNOUT-WA PIC 9(9) VALUE 4087631. 05 NUM-KEY-WA PIC 9(2) VALUE 47. 05 STATE-CODE-WV PIC A(2) VALUE "WV". 05 ELEC-COLLAGE-WV PIC 9(2) VALUE 5. 05 VOTER-TURNOUT-WV PIC 9(9) VALUE 794731. 05 NUM-KEY-WV PIC 9(2) VALUE 48. 05 STATE-CODE-WI PIC A(2) VALUE "WI". 05 ELEC-COLLAGE-WI PIC 9(2) VALUE 10. 05 VOTER-TURNOUT-WI PIC 9(9) VALUE 3298041. 05 NUM-KEY-WI PIC 9(2) VALUE 49. 05 STATE-CODE-WY PIC A(2) VALUE "WY". 05 ELEC-COLLAGE-WY PIC 9(2) VALUE 3. 05 VOTER-TURNOUT-WY PIC 9(9) VALUE 267765. 05 NUM-KEY-WY PIC 9(2) VALUE 50. 03 STATE-VARIABLES-TABLE REDEFINES STATE-VALUES. 05 STATE-VARIABLES OCCURS 50 TIMES. 07 STATE-CODE PIC A(2). 07 ELEC-COLLEGE PIC 9(2). 07 VOTER-TURNOUT PIC 9(9). 07 NUM-KEY PIC 9(2). 01 OUT-ELECTION-LINE. 03 PIC X(7) VALUE "State: ". 03 OUT-STATE-CODE PIC X(2) VALUE SPACES. 03 PIC X(20) VALUE " Electoral College: ". 03 OUT-ELEC-COLLEGE PIC ZZ VALUE ZERO. 03 PIC X(16) VALUE " Voter Turnout: ". 03 OUT-VOTER-TURNOUT PIC Z(9) VALUE ZERO. 01 SELECT-HOLDER PIC 9(3) VALUE ZERO. 01 STATE-COUNTER PIC 9(2) VALUE ZERO. 01 OUT-LINE-NUMBER PIC ZZ VALUE ZERO. 01 STATE-GROUP PIC 99 VALUE ZERO. 01 WITHIN-STATE-GROUP PIC 99 VALUE ZERO. PROCEDURE DIVISION. MAIN SECTION. PERFORM INIT. PERFORM UNTIL SELECT-HOLDER = 100 PERFORM UI-HANDLER END-PERFORM. PERFORM CLEAN-UP. STOP RUN. INIT. OPEN OUTPUT ELECTION-FILE. UI-HANDLER. DISPLAY " ". PERFORM VARYING STATE-COUNTER FROM 1 BY 1 UNTIL STATE-COUNTER > 50 END-PERFORM MOVE NUM-KEY (STATE-COUNTER) TO OUT-LINE-NUMBER. MOVE STATE-COUNTER TO OUT-LINE-NUMBER DISPLAY OUT-LINE-NUMBER NO ADVANCING DISPLAY ". " NO ADVANCING DISPLAY STATE-CODE (STATE-COUNTER) NO ADVANCING DIVIDE 15 INTO STATE-COUNTER GIVING STATE-GROUP REMAINDER WITHIN-STATE-GROUP IF WITHIN-STATE-GROUP = ZERO DISPLAY " " ELSE DISPLAY " " NO ADVANCING . DISPLAY "". DISPLAY "99. ALL STATES". DISPLAY "100. EXIT". DISPLAY " " DISPLAY "Enter your choice: ". ACCEPT SELECT-HOLDER. EVALUATE SELECT-HOLDER WHEN 1 THRU 50 DISPLAY "Printing " STATE-CODE (SELECT-HOLDER) PERFORM PRINT-STATE WHEN 99 DISPLAY "Printing All States" PERFORM VARYING SELECT-HOLDER FROM 1 BY 1 UNTIL SELECT-HOLDER > 50 PERFORM PRINT-STATE END-PERFORM WHEN 100 DISPLAY "Exiting" WHEN OTHER DISPLAY "Invalid Selection" END-EVALUATE. PRINT-STATE. MOVE STATE-CODE (SELECT-HOLDER) TO OUT-STATE-CODE. MOVE ELEC-COLLEGE (SELECT-HOLDER) TO OUT-ELEC-COLLEGE. MOVE VOTER-TURNOUT (SELECT-HOLDER) TO OUT-VOTER-TURNOUT. MOVE OUT-ELECTION-LINE TO ELECTION-RECORD. WRITE ELECTION-RECORD. CLEAN-UP. MOVE SPACE TO ELECTION-RECORD. WRITE ELECTION-RECORD BEFORE ADVANCING PAGE. CLOSE ELECTION-FILE.