Implement Caesar cipher encryption-decryption.

C source file of program:


#include<stdio.h>
#include<conio.h>
#include<alloc.h>
#include<string.h>
#include<stdlib.h>

void main()
{
   char d,t;
int l=0;
char *a=(char*)realloc(a,sizeof(char));
char *ct=(char*)realloc(ct,sizeof(char));

int i=0,k=0;
clrscr();

printf("Enter string and enter key : ");

gets(a);
l=strlen(a);
scanf("%d",&k);
for(i=0;i<l;i++)
{
if(a[i]>=65 && a[i]<=91)
{
    d=a[i];
    d=(((d-65)+k)%26)+65;
    ct[i]=d;
}
else if(a[i]>=97 && a[i]<=123)
{
    d=a[i];

    d=(((d-97)+k)%26)+97;
    ct[i]=d;
}

else
{
   ct[i]=a[i];
}
}
printf("\nThe encrypted text is: ");

for(i=0;i<l;i++)
{
printf("%c",ct[i]);
}
free(a);


printf("\nThe decrypted text is: ");
for(i=0;i<l;i++)
{
if(ct[i]>=65 && ct[i]<=91)
{
    t=ct[i];
    if(((t-65)-k)<0)
    {
    t=((((t-65)-k)%26)+1)+65;
    }
    else
    {
    t=(((t-65)-k)%26)+65;
    }
    a[i]=t;
}
else if(ct[i]>=97 && ct[i]<=123)
{
    t=ct[i];
    if(((t-97)-k)<0)
    {
    t=((((t-97)-k)%26)+1)+97;
    }
    else
    {
    t=(((t-97)-k)%26)+97;
    }
    a[i]=t;
}

else
{
   a[i]=ct[i];
}
}


for(i=0;i<l;i++)
{
printf("%c",a[i]);
}



   free(a);
   free(ct);

getch();
}

Output :