I can't solve the problem with key "hello, world!" and understand why it appears.
#include <stdio.h>
#include <cs50.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
int main (int argc, string argv[])
{
if (argc > 2 || argc < 2)
{
printf("Eror\n");
return 1;
}
for (int i = 0; i < strlen(argv[1]); i++)
{
if (isalpha(argv[1][i]) == 0)
{
printf("Eror\n");
return 1;
}
}
printf("Give me your msg\n");
string msg = get_string();
int j=0;
printf("ciphertext:");
for (int i = 0, lengthmsg = strlen(msg); i < lengthmsg; i++)
{
j = j % strlen(argv[1]);
if (isupper(msg[i]) && isupper(argv[1][j]))
printf("%c", (( (msg[i] - 65) + (argv[1][j] - 65) ) % 26) + 65);
else if (islower(msg[i]) && islower(argv[1][j]))
printf("%c", (( (msg[i] - 97) + (argv[1][j] - 97) ) % 26) + 97);
else if (islower(msg[i]) && isupper(argv[1][j]))
printf("%c", (( (msg[i] - 97) + (argv[1][j] - 65) ) % 26) + 97);
else if (isupper(msg[i]) && islower(argv[1][j]))
printf("%c", (( (msg[i] - 65) + (argv[1][j] - 97) ) % 26) + 65);
else
printf("%c",msg[i]);
j++;
}
printf("\n");
return 0;
}