Hello! I don't understand why my code won't work properly, I have done everything I could. I've attached the portion of my code that is involved with the ciphering process. I would really appreciate any help – I've been working on this for the past week and I can't seem to finish it. Thanks!
// DECLARE KEY FROM COMMAND LINE ARGUMENT
string key = argv [1];
// FIND LENGTH OF SUCH KEY
int length = strlen (key);
// CONVERT KEY TO SHIFT VALUE
for (int location = 0; location < strlen (key); location++)
{
// CONVERT LOWERCASE LETTERS TO SHIFT VALUES
if (islower (key[location]) && isalpha (key[location]))
{
key[location] = key[location] - 97;
}
// CONVERT UPPERCASE LETTERS TO SHIFT VALUES
if (isupper (key[location]) && isalpha (key[location]))
{
key[location] = key[location] - 65;
}
}
// ENCRYPT TEXT DEPENDENT UPON A PROPER KEY
if (argc == 2)
{
// PRINT INPUT PROMPT
printf ("plaintext: ");
// RETRIEVE STRING FROM USER
string argument = get_string();
// PRINT OUTPUT PROMPT
printf ("ciphertext: ");
// LOOP AROUND KEY
int around = 0;
// SHIFT LETTERS DEPENDENT UPON STRING
for (int value = 0; value < strlen (argument); value++)
{
// PRESERVE LOWERCASE LETTERS IN SHIFT
if (islower (argument[value]) && isalpha (argument[value]))
{
argument[value] = argument[value] - 97 + key[around % length] % 26 + 97;
around++;
}
// PRESERVE UPPERCASE LETTERS IN SHIFT
if (isupper (argument[value]) && isalpha (argument[value]))
{
argument[value] = argument[value] - 65 + key[around % length] % 26 + 65;
around++;
}
// PRINT CIPHERTEXT
printf ("%c", argument[value]);
}
// PRINT NEW LINE AND RETURN
printf ("\n");
return 0;
}
}