Wie komm ich beim ASCII Code direkt von Z zu A?

1 Antwort

Ich würde es so machen:

char buchstabe = ...
int n = (int)buchstabe - (int)'A';
n = (n + k) % 26;
char ergebnis = (char)((int)'A' + n);

Grüße

Martin


TeeTier  29.10.2015, 17:56

Noch einfacher: Ich würde k auf 26 als Anforderung festlegen, und mir weitere Mühen sparen. :)

Das hat dann die typischen KISS Vorteile: Es ist leicht wartbar, die Dokumentation wird knapp gehalten, die Unit-Tests bleiben überschaubar, und neue Entwickler müssen nicht erst lange eingearbeitet werden:

char ceasar26(const char c) {
return c;
}

Ganz zu schweigen von der Laufzeit-Effizienz im Bezug auf Geschwindigkeit und Speicherverbrauch.

Tja, SO entwickelt man Software heutzutage! :)

0