Advertisement
BladeMechanics

Caesar's Gambit

Feb 26th, 2018
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.37 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include<string.h>
  4. #include<ctype.h>
  5. #define STRING 255
  6. #ifndef Crypto_h
  7. #define Crypto_h
  8.  
  9. void input(char *);
  10. void encrypt(char []);
  11. void decrypt(char []);
  12. #endif
  13.  
  14. #include "Crypto.h"
  15.  
  16. void main()
  17. {
  18.     char message[STRING];
  19.     int shift, choice;
  20.     input(message);
  21.     printf("\n\nChoose an operation:\n\n\t1.\tEncryption\n\t2.\tDecryption\n\n\tAny other\tExit.\n");
  22.     scanf_s("%d", &choice);
  23.     if (choice==1)
  24.     {
  25.         encrypt(message);
  26.         _getch();
  27.     }
  28.     else if (choice == 2)
  29.     {
  30.         decrypt(message);
  31.         _getch();
  32.     }
  33. }\\#include "Crypto.h"
  34.  
  35. void input(char *message)
  36. {
  37. printf_s("Please enter a message: \n");
  38. fgets(message, 250, stdin);
  39. for (int i=0;i<strlen(message);i++)
  40.     {
  41.         message[i]=toupper(message[i]);
  42.     }
  43. }
  44.  
  45. void encrypt(char message[])
  46. {
  47.     int shift;
  48.     printf("\nPlease enter shift key\n");
  49.     scanf_s("%d", &shift);
  50. for (int i=0;i<strlen(message)-1;i++)
  51. {
  52.     if (message[i] != ' ')
  53.     {
  54.         message[i] = ((message[i] -'A' + shift) %26)+'A';
  55.     }
  56. }
  57. puts(message);
  58. }
  59.  
  60. void decrypt(char message[])
  61. {
  62.     int shift;
  63.     printf("\nPlease enter shift key\n");
  64.     scanf_s("%d", &shift);
  65.     for (int i = 0; i<strlen(message) - 1; i++)
  66.     if (message[i] != ' ')
  67.     {
  68.         if ((message[i] - 'A' - shift)<0)
  69.             message[i] = (message[i] - 'A' - shift)+26+'A';
  70.         else
  71.         message[i] = ((message[i] - 'A' - shift) % 26) + 'A';
  72.     }
  73.     puts(message);
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement