Advertisement
Guest User

Untitled

a guest
Oct 18th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.13 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <ctype.h>
  5.  
  6. void increment(char*, int);
  7. void decrement(char*, int);
  8. void rotateLeft(char*, int);
  9. void rotateRight(char*, int);
  10.  
  11. int main(int argc, char* argv[]){
  12.  
  13.    
  14.     FILE *original  = fopen(argv[1], "r");
  15.     int length = strlen(argv[2]);
  16.         char encrypt[length];
  17.         strcpy(encrypt, argv[2]);
  18.  
  19.     if(NULL == original){
  20.         printf("%s is an invalid file.\n", argv[1]);
  21.         exit(1);
  22.     }
  23.    
  24.     char string[100];
  25.    
  26.     fscanf(original, "%s", string);
  27.     while(!feof(original))
  28.     {
  29.         int len = strlen(string);
  30.  
  31.         for(int a = 0; a < length; a++)
  32.         {
  33.             char key = encrypt[a];
  34.             switch(key)
  35.             {
  36.                 case 'L':
  37.                     rotateLeft(string, len);
  38.                     break;
  39.                 case 'R':
  40.                     rotateRight(string, len);
  41.                     break;
  42.                 case 'I':
  43.                     increment(string, len);
  44.                     break;
  45.                 case 'D':
  46.                     decrement(string, len);
  47.                     break;
  48.                 default:
  49.                     printf("Invalid encryption key \'%c\'\n", key);
  50.                     exit(1);
  51.             }
  52.         }
  53.         printf("%s\n", string);
  54.         fscanf(original, "%s", string);
  55.     }
  56.  
  57.     return 0;
  58. }
  59.  
  60. void increment(char* string,int length)
  61. {
  62.     for(int a = 0;a<length;a++)
  63.     {
  64.         if(isdigit(string[a]) ||  isalpha(string[a]))
  65.         {
  66.             if(string[a] == 'z')
  67.                 string[a] = 'a';
  68.             else if(string[a] == 'Z')
  69.                 string[a] = 'A';
  70.             else if(string[a] == '9')
  71.                 string[a] = '0';
  72.             else
  73.                 string[a] += 1;
  74.         }  
  75.     }
  76.     return;
  77. }
  78.  
  79. void decrement(char* string, int length)
  80. {
  81.     for(int a = 0;a<length;a++)
  82.     {
  83.         if(isdigit(string[a]) || isalpha(string[a]))
  84.         {
  85.             if(string[a] == 'a')
  86.                 string[a] = 'z';
  87.             else if(string[a] == 'A')
  88.                 string[a] = 'Z';
  89.             else if(string[a] == '0')
  90.                 string[a] = '9';
  91.             else
  92.                 string[a] -= 1;
  93.         }
  94.     }
  95.     return;
  96. }
  97.  
  98. void rotateRight(char* string, int length)
  99. {
  100.     char temp[length+10];
  101.     temp[0] = string[length-1];
  102.     for(int a=1;a<length;a++)  
  103.     {
  104.         temp[a]=string[a-1];
  105.     }
  106.     strcpy(string, temp);
  107.     return;
  108. }
  109.  
  110. void rotateLeft(char* string, int length)
  111. {
  112.     char temp[length+10];
  113.     temp[length-1] = string[0];
  114.     for(int a = 0; a < length-1; a++)
  115.     {
  116.         temp[a] = string[a+1];
  117.     }
  118.     strcpy(string, temp);
  119.  
  120.     return;
  121. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement