fork download
  1. 000000*Caesar Cipher - COBOL
  2. 000000*Author: John Paul Welsh
  3. 000000 IDENTIFICATION DIVISION.
  4. 000000 program-id. cipher.
  5. 000000
  6. 000000 ENVIRONMENT DIVISION.
  7. 000000
  8. 000000 DATA DIVISION.
  9. 000000 WORKING-STORAGE SECTION.
  10. 000000
  11. 000000 01 str-input PIC X(15) VALUE "John Paul Welsh".
  12. 000000 01 curr-char PIC X.
  13. 000000 01 chr-shift PIC 99 VALUE 04.
  14. 000000 01 max-shift PIC 99 VALUE 26.
  15. 000000 01 encrypted PIC X(15).
  16. 000000 01 decrypted PIC X(15).
  17. 000000 01 this-char PIC X.
  18. 000000 01 this-index PIC 99.
  19. 000000 01 new-char PIC X.
  20. 000000 01 str-pos PIC 99 VALUE 01.
  21. 000000 01 new-index PIC 99.
  22. 000000 01 table-alpha.
  23. 000000 05 idx-char-pair OCCURS 26 TIMES INDEXED BY idx.
  24. 000000 10 table-idx PIC 99.
  25. 000000 10 table-val PIC X.
  26. 000000
  27. 000000 PROCEDURE DIVISION.
  28. 000000
  29. 000000 PROGRAM-BEGIN.
  30. 000000 MOVE "A" TO al-char(1).
  31. 000000 MOVE "B" TO al-char(2).
  32. 000000 MOVE "C" TO al-char(3).
  33. 000000 MOVE "D" TO al-char(4).
  34. 000000 MOVE "E" TO al-char(5).
  35. 000000 MOVE "F" TO al-char(6).
  36. 000000 MOVE "G" TO al-char(7).
  37. 000000 MOVE "H" TO al-char(8).
  38. 000000 MOVE "I" TO al-char(9).
  39. 000000 MOVE "J" TO al-char(10).
  40. 000000 MOVE "K" TO al-char(11).
  41. 000000 MOVE "L" TO al-char(12).
  42. 000000 MOVE "M" TO al-char(13).
  43. 000000 MOVE "N" TO al-char(14).
  44. 000000 MOVE "O" TO al-char(15).
  45. 000000 MOVE "P" TO al-char(16).
  46. 000000 MOVE "Q" TO al-char(17).
  47. 000000 MOVE "R" TO al-char(18).
  48. 000000 MOVE "S" TO al-char(19).
  49. 000000 MOVE "T" TO al-char(20).
  50. 000000 MOVE "U" TO al-char(21).
  51. 000000 MOVE "V" TO al-char(22).
  52. 000000 MOVE "W" TO al-char(23).
  53. 000000 MOVE "X" TO al-char(24).
  54. 000000 MOVE "Y" TO al-char(25).
  55. 000000 MOVE "Z" TO al-char(26).
  56.  
  57. 000000 DISPLAY "The input string is " str-input
  58. 000000 DISPLAY "The shift amount is " chr-shift
  59. 000000 DISPLAY "The max shift amount is " max-shift
  60. 000000
  61. 000000* capitalize the input
  62. 000000 MOVE FUNCTION upper-case(str-input) TO str-input.
  63. 000000
  64. 000000* do not use periods after any sentences inside loops
  65. 000000 PERFORM 15 TIMES
  66. 000000* lookup the current character from the string in the table,
  67. 000000* find the index+shiftval of that character, replace the current
  68. 000000* character with the shifted one
  69. 000000
  70. 000000 MOVE str-input TO encrypted
  71. 000000 MOVE encrypted(str-pos:str-pos) TO curr-char
  72. 000000 DISPLAY curr-char
  73. 000000 PERFORM TABLE-SEARCH
  74. 000000 ADD this-index, chr-shift GIVING new-index
  75. 000000 MOVE al-char(new-index) TO new-char
  76. 000000 INSPECT curr-char CONVERTING this-char TO new-char
  77. 000000 ADD str-pos, 1 GIVING str-pos
  78. 000000 END-PERFORM.
  79. 000000
  80. 000000 TABLE-SEARCH.
  81. 000000 SET idx to 1.
  82. 000000 SEARCH table-alpha VARYING idx
  83. 000000 WHEN idx-char-pait(idx) = curr-char
  84. 000000 MOVE idx-char-pair(idx) TO this-char
  85. 000000 MOVE idx TO this-index.
  86. 000000
  87. 000000 PROGRAM-DONE.
  88. 000000 STOP RUN.
  89.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cob: In paragraph 'PROGRAM-BEGIN':
prog.cob:30: Error: 'al-char' undefined
prog.cob:31: Error: 'al-char' undefined
prog.cob:32: Error: 'al-char' undefined
prog.cob:33: Error: 'al-char' undefined
prog.cob:34: Error: 'al-char' undefined
prog.cob:35: Error: 'al-char' undefined
prog.cob:36: Error: 'al-char' undefined
prog.cob:37: Error: 'al-char' undefined
prog.cob:38: Error: 'al-char' undefined
prog.cob:39: Error: 'al-char' undefined
prog.cob:40: Error: 'al-char' undefined
prog.cob:41: Error: 'al-char' undefined
prog.cob:42: Error: 'al-char' undefined
prog.cob:43: Error: 'al-char' undefined
prog.cob:44: Error: 'al-char' undefined
prog.cob:45: Error: 'al-char' undefined
prog.cob:46: Error: 'al-char' undefined
prog.cob:47: Error: 'al-char' undefined
prog.cob:48: Error: 'al-char' undefined
prog.cob:49: Error: 'al-char' undefined
prog.cob:50: Error: 'al-char' undefined
prog.cob:51: Error: 'al-char' undefined
prog.cob:52: Error: 'al-char' undefined
prog.cob:53: Error: 'al-char' undefined
prog.cob:54: Error: 'al-char' undefined
prog.cob:55: Error: 'al-char' undefined
prog.cob:75: Error: 'al-char' undefined
prog.cob: In paragraph 'TABLE-SEARCH':
prog.cob:82: Error: 'table-alpha' not indexed
prog.cob:22: Error: 'table-alpha' defined here
prog.cob:83: Error: 'idx-char-pait' undefined
stdout
Standard output is empty