#include<stdio.h>
#include<stdlib.h>
char*plainTextToCipherText(char plainText[],int n)
{
char *cipherText;
int i;
cipherText=(char*)malloc(sizeof(char)*1000);
for(i=0;plainText[i];i++)
{
if(plainText[i]!=' ')
cipherText[i]=((plainText[i]-'a'+n)%26)+'a';
else
cipherText[i]=plainText[i];
}
cipherText[i]='\0';
return cipherText;
}
char*cipherTextToPlainText(char cipherText[],int n)
{
char *plainText,c;
int i;
plainText=(char*)malloc(sizeof(char)*1000);
for(i=0;cipherText[i];i++)
{
if(cipherText[i]!=' ')
{
c=(cipherText[i]-'a'-n)%26;
if(c<0)
c+=26;
c+='a';
plainText[i]=c;
}
else
{
plainText[i]=cipherText[i];
}
}
plainText[i]='\0';
return plainText;
}
int main()
{
int n;
char plainText1[1000],*cipherText1,cipherText2[1000],*plainText2;
// Encoding Cipher Text
printf("Enter the Plain Text (in lower case): ");
scanf(" %[^\n]s",plainText1);
printf("Enter the number of characters to be shifted : ");
scanf("%d",&n);
cipherText1=plainTextToCipherText(plainText1,n);
printf("Cipher Text is : %s\n",cipherText1);
// Decoding Plain Text
printf("\nEnter the Cipher Text (in lower case) : ");
scanf(" %[^\n]s",cipherText2);
printf("Enter the number of charaters to be shifted : ");
scanf("%d",&n);
plainText2=cipherTextToPlainText(cipherText2,n);
printf("The Plain Text is : %s\n",plainText2);
return 0;
}
Sunday, 12 April 2015
Caesar Cipher - Program in C
Subscribe to:
Post Comments (Atom)
This comment has been removed by the author.
ReplyDelete