ASCII-Code in C++ umwandeln?

4 Antworten

char getOppositeChar( char c )
{
    if ( c >= 'A' && c <= 'Z' )
    {
        int diff = c - 'A';
        return (char) ('Z' - diff);
    }

    if ( c >= 'a' && c <= 'z' )
    {
        int diff = c - 'a';
        return (char) ('z' - diff);
    }

    return c;
}

Ich verstehe nicht ganz was der ACII Code damit zu tun hat. Aber du könntest ein switch-case bauen welches das gesamte Alphabet in Groß- und Kleinschreibung abdeckt und dir bei A ein Z zurückgibt und bei b ein y. So wie du es halt eben haben willst.

LG Knom

Woher ich das weiß:Studium / Ausbildung – Softwareentwickler mit 10 Jahren Berufserfahrung 💾

Kipping01 
Fragesteller
 28.11.2019, 14:49

65 ist im ASCII-Code ein großes A und die 90 ein großes Z. Das sind Werte laut der ASCII-Tabelle und mit den soll ich arbeiten

0
Knomle  28.11.2019, 14:51
@Kipping01

achso, du kannst den Char implizit in einen Int Wert Casten, dann erhälst du den ASCII Code.

char eingabe = ... //Eingabe des Benutzers
int asciicode = (int)eingabe;

Ein Switch-Case müsste dann auch das ganze Alphabet abdecken, dann aber mit Int-Werten statt mit Chars.

LG Knom

0
Kipping01 
Fragesteller
 28.11.2019, 14:54
@Knomle

danke aber ich verstehe immer noch nicht ganz wie ich es eingeben soll, bin nach ziemlich am Anfang von C++ kenne eher die Grundlagen

0

if( a > 64 && a < 91 ) a:=155-a;

if( a > 96 && a < 123 ) a:=187-a;

diese beiden Zeilen einbauen, wenn a dein ASCII Code des eingegebenen Zeichens ist.

Dumme Fragestellung, aber okay.

Buchstaben sind auch nur Zahlen und praktischerweise auch praktisch nummeriert.

A und a sind in ASCII nicht 0, aber trotzdem ist das nur simple Plus- und Minusrechnung. Bekommst du das hin?