Langage C: convertir chiffre en lettre( a=1,b=2...)

Résolu/Fermé
BadGamer Messages postés 517 Date d'inscription mercredi 24 novembre 2010 Statut Membre Dernière intervention 25 décembre 2014 - Modifié par moska le 20/01/2013 à 22:38
BadGamer Messages postés 517 Date d'inscription mercredi 24 novembre 2010 Statut Membre Dernière intervention 25 décembre 2014 - 21 oct. 2012 à 12:29
Bonjour,

Je voudrais écrire une fonction pour associer une lettre a un chiffre:
1 vaudrait donc au final a
2=>b
3=>c etc

J'ai ce code pour tester seulement avec a et b (1 et 2) mais il ne m'affiche que deux smileys ...:

#include <stdio.h>  
#include <stdlib.h>  

char convert(int);  
int main()  
{   char lettre;  

    lettre= convert(1);  
    printf("%c",lettre);  
    lettre= convert(2);  
    printf("%c",lettre);  
    return 0;  
}  

char convert(int nombre)  
{  
    char lettre = 'a';  

    switch (nombre)  
    {  

    case 1:  
        lettre = 'a';  
        break;  
    case 2:  
        lettre = 'c';  
        break;  
    return lettre;  
    }  
}






Si quelqu'un a une idée ou connait une fonction déja existante merci d'avance =)

Signature hors charte - Supprimée par la modération

3 réponses

roptat Messages postés 275 Date d'inscription samedi 20 octobre 2012 Statut Membre Dernière intervention 26 juillet 2013 77
21 oct. 2012 à 12:26
les caractères a,b,c... sont les uns à la suite des autres en ASCII. donc tu peux faire :
char convert(int nombre)
{
   return nombre + 'a' - 1;
}

'a' signifie « position de a dans la table ASCII »
0