#include <stdio.h>
int main()
{
char str[100];
int key, i=0, left;
printf("Enter your plain text : ");
scanf("%[^\n]s",str);
printf("Enter the key : ");
scanf("%d",&key);
if(key==0)
{
printf("INVALID INPUT");
}
else
{
while(str[i]!='\0')
{
//printf("%d\n", str[i]);
if(str[i]>=48 && str[i]<=57)
{
if(str[i]+key<=57)
{
str[i] = str[i] + key;
}
else
{
left = (str[i] + key) - 57;
str[i] = 47 + left;
}
}
else if(str[i]>=65 && str[i]<=90)
{
if(str[i]+key<=90)
{
str[i] = str[i] + key;
}
else
{
left = (str[i] + key) - 90;
str[i] = 64 + left;
}
}
else if(str[i]>=97 && str[i]<=122)
{
if(str[i]+key<=122)
{
str[i] = str[i] + key;
}
else
{
left = (str[i] + key) - 122;
str[i] = 96 + left;
}
}
i++;
}
printf("The encrypted text is : %s",str);
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CmludCBtYWluKCkKewogICAgY2hhciBzdHJbMTAwXTsKICAgIGludCBrZXksIGk9MCwgbGVmdDsKICAgIHByaW50ZigiRW50ZXIgeW91ciBwbGFpbiB0ZXh0IDogIik7CiAgICBzY2FuZigiJVteXG5dcyIsc3RyKTsKICAgIHByaW50ZigiRW50ZXIgdGhlIGtleSA6ICIpOwogICAgc2NhbmYoIiVkIiwma2V5KTsKICAgIGlmKGtleT09MCkKICAgIHsKICAgICAgICBwcmludGYoIklOVkFMSUQgSU5QVVQiKTsKICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgICB3aGlsZShzdHJbaV0hPSdcMCcpCiAgICAgICAgewogICAgICAgICAgICAvL3ByaW50ZigiJWRcbiIsIHN0cltpXSk7CiAgICAgICAgICAgIGlmKHN0cltpXT49NDggJiYgc3RyW2ldPD01NykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYoc3RyW2ldK2tleTw9NTcpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgc3RyW2ldID0gc3RyW2ldICsga2V5OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGxlZnQgPSAoc3RyW2ldICsga2V5KSAtIDU3OwogICAgICAgICAgICAgICAgICAgIHN0cltpXSA9IDQ3ICsgbGVmdDsKICAgICAgICAgICAgICAgIH0gICAKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIGlmKHN0cltpXT49NjUgJiYgc3RyW2ldPD05MCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYoc3RyW2ldK2tleTw9OTApCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgc3RyW2ldID0gc3RyW2ldICsga2V5OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGxlZnQgPSAoc3RyW2ldICsga2V5KSAtIDkwOwogICAgICAgICAgICAgICAgICAgIHN0cltpXSA9IDY0ICsgbGVmdDsKICAgICAgICAgICAgICAgIH0gIAogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgaWYoc3RyW2ldPj05NyAmJiBzdHJbaV08PTEyMikKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYoc3RyW2ldK2tleTw9MTIyKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIHN0cltpXSA9IHN0cltpXSArIGtleTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBsZWZ0ID0gKHN0cltpXSArIGtleSkgLSAxMjI7CiAgICAgICAgICAgICAgICAgICAgc3RyW2ldID0gOTYgKyBsZWZ0OwogICAgICAgICAgICAgICAgfSAKICAgICAgICAgICAgfQogICAgICAgICAgICBpKys7CiAgICAgICAgfQogICAgICAgIHByaW50ZigiVGhlIGVuY3J5cHRlZCB0ZXh0IGlzIDogJXMiLHN0cik7CiAgIH0KICAgcmV0dXJuIDA7Cn0=