La conversion des lettres en nombres dans C++

PROBLÈME RÉSOLU: merci à tous!

Je suis presque entièrement novice en C++ donc je m'excuse à l'avance si la question semble banale.

Je suis en train de convertir une chaîne de lettres à un ensemble de 2 chiffres, où a = 10, b = 11, ..., Y = 34, Z = 35 de sorte que (par exemple) "abc def" va "101112131415". Comment pourrais-je aller sur le faire? Toute aide serait vraiment appréciée. Aussi, je n'ai pas l'esprit si la capitalisation des résultats dans le même nombre ou un nombre différent. Merci beaucoup à l'avance. Je n'aurai probablement pas besoin pour quelques jours, mais si quelqu'un est un sentiment particulièrement agréable comment pourrais-je aller sur d'inverser ce processus? c'est à dire "101112131415" --> "abcdef" Merci.

EDIT: Ce n'est pas de devoirs, je suis entièrement autodidacte. J'ai terminé ce projet avant dans une langue différente et a décidé d'essayer C++ pour comparer les différences et essayer d'apprendre le C++ dans le processus 🙂

EDIT: j'ai à peu près ce que je veux, j'ai juste besoin d'un peu d'aide de la conversion de cette sorte qu'elle s'applique à des chaînes, merci les gars.

#include <iostream>
#include <sstream>
#include <string>

int returnVal (char x)
{
    return (int) x - 87;
}

int main()
{
    char x = 'g';
    std::cout << returnVal(x);
}
  • Une première étape pourrait être de regarder la valeur de 'z' - 'a'.
  • "123" = 1*100 + 2*10 + 3*1
  • Une autre question intéressante sera le résultat de 'a'-'A'
  • Vous avez seulement besoin 10+str[i]-'a'.
  • Pourquoi devrions pas nous, vous code de date
  • Désolé, je suis en train de refaire un projet dans une langue qui est nouveau pour moi et c'est pourquoi la question semble si anodin. Ce n'est pas de devoirs.
  • Notez qu'un personnage est déjà un entier. Le problème est que le std::cout est surchargé d'imprimer la représentation des caractères plutôt que la représentation entière.

InformationsquelleAutor Michael | 2014-02-17