Antes de nada: estas programando en verso??? Es una broma :)
Lo que necesitas es una lista con las letras declaradas en el mismo orden que el que el de las tablas ascii, de forma que recorres la palabra ingresada letra por letra para sacar el valor ascii, una vez tienes el ascii le restas un indice que habras definido de forma arbitraria y obtienes la posicion de la letra en la lista de letras escritas, luego imprimes y listo.
Un ejemplo pequeño para mostra solo tres letras, lo mismo puedes aplicarlo a numeros:
Código:
static char *letras[3] = {"a", "be", "ce"};
static int offset = 'a';
int main() {
string texto = "bca";
int q, ascii;
for(q = 0; q < texto.length(); q++) {
ascii = texto.at(q);
cout << letras[ascii-offset] << endl;
}
return 0;
}
Faltan algunas comprovaciones de error, como el caso de que una letra no exista en la lista (en este caso me he asegurado que el texto solo contenga letras de la lista).
Saludos
vosk