Die Caesar-Chiffre verschlüsselt den Text mit benutzerdefiniertem Schlüssel und Text.Was ist falsch in meiner Version der Caesar-Chiffre? pset 2
In der Kryptographie ist eine Caesar-Chiffre, auch bekannt als Caesar-Chiffre, die Verschiebung Chiffre, Caesar-Code oder Caesar-Verschiebung, eine der einfachsten und am weitesten verbreiteten Verschlüsselungstechniken. Es ist eine Art von Ersatzchiffre, bei der jeder Buchstabe im Klartext durch einen Buchstaben mit einer bestimmten Anzahl von Stellen im Alphabet ersetzt wird. Zum Beispiel würde bei einer Linksverschiebung von 3 D durch A ersetzt, E würde zu B und so weiter. Das Verfahren wird nach Julius Caesar benannt, der es in seiner privaten Korrespondenz
#include <stdio.h>
#include <cs50.h>
#include <ctype.h>
int main (int argc , string argv[])
{
int key,save;
string s ;
key = atoi(argv[1]);
s = GetString();
if ( argc != 2)
{
printf("prgram is yelling at you !!");
return 1 ;
}
for (int i = 0 ; s[i]!='\0' ; ++i) // manipulation without storing character
{
if (isalpha(s[i])) // checks whether input is in character set or not
{
if (islower (s[i])) // FOR LOWER CASES
{
save = key % 24 ;
s[i] = s[i] + save ;
if (s[i] > 'z')
s[i] = 'a' + (s[i] - 'z' -1);
}
if (isupper (s[i])) // FOR UPPER CASES
{
save = key % 24 ;
s[i] = s[i] + save ;
if (s[i] > 'Z')
s[i] = 'A' + (s[i] - 'Z' -1);
}
}
printf ("%c" , s[i]);
}
return 0 ;
}
Fakten:
:) caesar.c exists
:) caesar.c compiles
:(encrypts "a" as "b" using 1 a s key
\ expected output, but not "b"
:(encrypts "barfoo" as "yxocll" using 23 as key
\ expected output, but not "yxc"
:(encrypts "BARFOO" as "EDUIRR" using 3 as key
\ expected output, but not "EDUIRR"
:(encrypts "BaRFoo" as "FeVJss" using 4 as key
\ expected output, but not "FeVJss"
:(encrypts "barfoo" as "onesbb" using 65 as key
\ expected output, but not "srw"
:(encrypts "world, say hello!" as "iadxp, emk tqxxa!" using 12 as key
\ expected output, but not "adxp, em tqxxa!"
:(handles lack of argv[1]
\ expected output, not standard error of \ "/opt/sandbox50/bin/run.sh: line 31: 189..."
zu starten mit: Die Formatierung Ihres Programms ist falsch, Ihr Programm ist nicht lesbar. –
Ich formatierte den Code für Sie in einem lesbaren Format. –
Sieht aus wie kopieren Paste der Frage auf einigen Test-Server .. Wie auch immer - nette Einführung, aber keine echte Frage, vielleicht denken Sie immer noch über die Frage: D – nayana