Advertisement
noob339

CaesarNotDone

Nov 23rd, 2021
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.53 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <cs50.h>
  4. #include <ctype.h>
  5. #include <stdlib.h>
  6.  
  7.  
  8. int main(int argc, string argv[])
  9. {
  10.     int j = 0, f = 0, n = strlen(argv[1]);
  11.    
  12.     if(argc == 2)
  13.     {
  14.         for (int i = 0; i < n; i++)
  15.         {  
  16.             if(isalpha(argv[1][i]) == 0 && isdigit(argv[1][i]))
  17.             {
  18.                 j++;
  19.             }
  20.         }
  21.     }
  22.     else if (argc != 2)
  23.     {
  24.         printf("Usage:./caesar key \n");
  25.         return 1;
  26.     }
  27.    
  28.     if(j == n)
  29.     {
  30.         string plainText = get_string("Enter text you wish to encode: ");
  31.         int b = strlen(plainText);
  32.         printf("plaintext: %s\n", plainText);
  33.        
  34.         for (int i = 0; i < b; i++)
  35.         {
  36.             f = atoi(argv[1]);
  37.             if(isalpha(plainText[i]) && isupper(plainText[i]))
  38.             {
  39.                 plainText[i] = plainText[i] - 65;
  40.                 plainText[i] = (plainText[i] + f) % 26;
  41.                 plainText[i] = plainText[i] + 65;
  42.             }
  43.             else if (isalpha(plainText[i]) && islower(plainText[i]))
  44.             {
  45.                 plainText[i] = plainText[i] - 97;
  46.                 plainText[i] = (plainText[i] + f) % 26;
  47.                 plainText[i] = plainText[i] + 97;
  48.             }
  49.         }
  50.        
  51.         printf("ciphertext: ");
  52.         for (int i = 0; i < b; i++)
  53.         {
  54.             printf("%c", plainText[i]);
  55.         }
  56.         printf("\n");
  57.     }
  58.     else
  59.     {
  60.         printf("Usage:./caesar key \n");
  61.         return 1;
  62.     }
  63. }
  64.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement