When i tested the program using the keyword "BaZ" from cs50 submit. It received "BaRFoo" and returned "CaRGog" as an output instead of "CaQGon"
string s;
s=GetString();
string key;
key=argv[1];
int a=strlen(key);
for(int n=0; n < strlen(key); n++)
{
if(isupper(key[n]))
{
key[n] = (tolower(key[n])-'a');
}
else if(islower(key[n]))
{
key[n] = (key[n]-'a');
}
else
{
printf("error");
return 0;
}
}
int t=0;
for(int n=0; n < strlen(s); n++)
{
int v = t%a;
t++;
if(s[n]>='A' && s[n]<='Z')
{
int o = (s[n] - 'A' + key[v]) % 26 +'A';
printf("%c",(char) o);
}
else if(s[n]>='a' && s[n]<='z')
{
int o = (s[n] -'a'+ key[v]) % 26 + 'a';
printf("%c",(char) o);
}
else
{
printf("%c",s[n]);
t--;
}
}
printf("\n");