deadman96385

Untitled

Feb 1st, 2016
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.53 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. void alphabreak( char in[], char out[])
  5. {
  6. int i, len;
  7. char c;
  8.  
  9. len = strlen( in );
  10.  
  11. for (i = 0; i < len; i++)
  12. {
  13. c = in[i];
  14. if (c >= 'a' && c <= 'z')
  15. {
  16. switch (c) {
  17. case 'a':
  18. c = 'z';
  19. break;
  20. case 'b':
  21. c = 'y';
  22. break;
  23. case 'c':
  24. c = 'x';
  25. break;
  26. case 'd':
  27. c = 'w';
  28. break;
  29. case 'e':
  30. c = 'v';
  31. break;
  32. case 'f':
  33. c = 'u';
  34. break;
  35. case 'g':
  36. c = 't';
  37. break;
  38. case 'h':
  39. c = 's';
  40. break;
  41. case 'i':
  42. c = 'r';
  43. break;
  44. case 'j':
  45. c = 'q';
  46. break;
  47. case 'k':
  48. c = 'p';
  49. break;
  50. case 'l':
  51. c = 'o';
  52. break;
  53. case 'm':
  54. c = 'n';
  55. break;
  56. case 'n':
  57. c = 'm';
  58. break;
  59. case 'o':
  60. c = 'l';
  61. break;
  62. case 'p':
  63. c = 'k';
  64. break;
  65. case 'q':
  66. c = 'j';
  67. break;
  68. case 'r':
  69. c = 'i';
  70. break;
  71. case 's':
  72. c = 'h';
  73. break;
  74. case 't':
  75. c = 'g';
  76. break;
  77. case 'u':
  78. c = 'f';
  79. break;
  80. case 'v':
  81. c = 'e';
  82. break;
  83. case 'w':
  84. c = 'd';
  85. break;
  86. case 'x':
  87. c = 'c';
  88. break;
  89. case 'y':
  90. c = 'b';
  91. break;
  92. case 'z':
  93. c = 'a';
  94. break;
  95. }
  96. }
  97. out[i] = c;
  98. }
  99.  
  100. out[len] = '\0';
  101.  
  102. }
  103.  
  104. void rotatebreak( char in[], char out[])
  105. {
  106. int i, len;
  107. char c;
  108.  
  109. len = strlen( in );
  110.  
  111. for (i = 0; i < len; i++)
  112. {
  113. c = in[i];
  114. if (c >= '0' && c <= 'z')
  115. {
  116. if(c == 'z')
  117. c = 'a';
  118. else c = c + 1;
  119. }
  120. out[i] = c;
  121. }
  122.  
  123. out[len] = '\0';
  124.  
  125. }
  126.  
  127. void rotatefix( char in[], char out[])
  128. {
  129. int i, len;
  130. char c;
  131.  
  132. len = strlen( in );
  133.  
  134. for (i = 0; i < len; i++)
  135. {
  136. c = in[i];
  137. if (c >= '0' && c <= 'z')
  138. {
  139. if(c == 'a')
  140. c = 'z';
  141. else
  142. c = c;
  143.  
  144. }
  145. out[i] = c;
  146. }
  147.  
  148. out[len] = '\0';
  149.  
  150. }
  151.  
  152. void breakit( char in[], char out[])
  153. {
  154. int i, len;
  155. char c;
  156.  
  157. len = strlen( in );
  158.  
  159. for (i = 0; i < len; i++)
  160. {
  161. c = in[i];
  162. if (c >= '0' && c <= 'z')
  163. c = c + 1;
  164. out[i] = c;
  165. }
  166.  
  167. out[len] = '\0';
  168.  
  169. }
  170.  
  171. void fixit(char in[], char out[])
  172. {
  173. int i, len;
  174. char c;
  175.  
  176. len = strlen( in );
  177.  
  178. for (i = 0; i < len; i++)
  179. {
  180. c = in[i];
  181. if (c >= '0' && c <= 'z'+1)
  182. c = c - 1;
  183. out[i] = c;
  184. }
  185.  
  186. out[len] = '\0';
  187.  
  188. }
  189.  
  190. main()
  191. {
  192. // declare strings
  193.  
  194. char orig[25], mess[25], fix[25];
  195. char l;
  196.  
  197. // read string from user
  198.  
  199. printf("Enter a string peasant: ");
  200. // scanf("%s", orig);
  201. fgets(orig, 25, stdin);
  202. l = strlen( orig );
  203. l--;
  204. orig[l] = '\0';
  205.  
  206. breakit( orig, mess);
  207.  
  208. printf("shift mixed: %s\n", mess);
  209.  
  210. fixit(mess, fix);
  211.  
  212. printf("shift fixed: %s\n", fix);
  213.  
  214. rotatebreak (orig, mess);
  215.  
  216. printf("Rotation mapping mixed: %s\n", mess);
  217.  
  218. rotatefix (orig, fix);
  219.  
  220. printf("Rotation mapping fixed: %s\n", fix);
  221.  
  222. alphabreak (orig, mess);
  223.  
  224. printf("Alpha replace mixed %s\n", mess);
  225.  
  226. alphabreak (mess, fix);
  227.  
  228. printf("Alpha replace fixed: %s\n", fix);
  229.  
  230. return 0;
  231. }
Advertisement
Add Comment
Please, Sign In to add comment