Buchstaben in Zahlen umwandeln



  • Hallo,

    ich schlage mich zur Zeit in der Schule mit C++ rum 😡 . Leider verstehe ich nicht wie ich aus Buchstaben Zahlen machen kann.

    Wir nutzen Borland C++ Builder 6. Ich lese mit Hilfe eines Edit-Feldes einen AnsiString ein z.B. 1 2 3 4 A B 5 6 7.

    Nun sollen die Buchstaben umgewandelt werden. a=11, b=12, c=13, ...

    Das Ergebnis lautet also 1 2 3 4 11 12 5 6 7.

    Aber irgendwie stehe ich wie ein Ochs vorm Scheunentor.

    Vielleicht kann mir ja jemand Helfen.

    Vieln Dank



  • Als erstes mußt du feststellen, ob du eine Ziffer oder einen Buchstaben vor dir hast, danach kannst du aus dem ASCII-Wert einen Zahlenwert berechnen:

    if(isdigit(c))
      n = c - '0'; // Ziffer
    else if(isupper(c))
      n = c - 'A' + 10; // Großbuchstabe
    else if(islower(c))
      n = c - 'a' + 10; // Kleinbuchstabe
    else
      //Fehler
    

    (alternativ könntest du auch deinen Buchstaben als Hex-Ziffer interpretieren und per Stringstream umwandeln)


Anmelden zum Antworten