deepthroat
Erfahrenes Mitglied
Hi.
Gruß
Dennoch verwendest du für meinen Geschmack zuviel "magic numbers" in deinem Code...Du kannst schon den ASCII-Wert nehmen und den Schlüssel hinzufügen. Wenn du jedoch zu 'z' 2 dazu zählst entsteht dadurch 'b'. Du musst also wieder auf das entsprechende Interval abbilden. Spätestens da musst du dann die Operationen unterschiedlich machen, je nach dem, ob es ein Gross- oder ein Kleinbuchstabe ist.
C:
char crypt(char c, int key)
{
if(!isalpha(c))
return c;
char offset = isupper(c) ? 'A' : 'a';
return ((c - offset + key) % 26 + offset);
}