Ask Question

Name:
Title:
Your Question:

Answer Question

Name:
Your Answer:
User Submitted Source Code!


Description:
  caesar.c
Language: C/C++
Code:
#include <stdio.h>

#include <stdlib.h>
#include <string.h>

 
#define caesar(x) rot(13, x)
#define decaesar(x) rot(13, x)

#define decrypt_rot(x, y) rot((26-x), y)
 
void rot(int c, char *str)

{
     int l = strlen(str);

     const char *alpha[2] = { "abcdefghijklmnopqrstuvwxyz", "ABCDEFGHIJKLMNOPQRSTUVWXYZ"};

 
     int i;
     for (i = 0; i < l; i++)

     {
          if (!isalpha(str[i]))

               continue;
 
          str[i] = alpha[isupper(str[i])][((int)(tolower(str[i])-'a')+c)%26];

     }
}
 
 
int main()

{
     char str[] = "This is a top secret text message!";

 
     printf("Original: %sn", str);

     caesar(str);
     printf("Encrypted: %sn", str);

     decaesar(str);
     printf("Decrypted: %sn", str);

 
     return 0;
}
          
Comments: