Langage C: convertir chiffre en lettre( a=1,b=2...) [Résolu/Fermé]

Signaler
Messages postés
506
Date d'inscription
mercredi 24 novembre 2010
Statut
Membre
Dernière intervention
25 décembre 2014
-
Messages postés
506
Date d'inscription
mercredi 24 novembre 2010
Statut
Membre
Dernière intervention
25 décembre 2014
-
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

Messages postés
275
Date d'inscription
samedi 20 octobre 2012
Statut
Membre
Dernière intervention
26 juillet 2013
72
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 »
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 76687 internautes nous ont dit merci ce mois-ci

Messages postés
118
Date d'inscription
vendredi 10 août 2012
Statut
Membre
Dernière intervention
2 février 2014
14
Tu te compliques ton boulot et utilise un code brouillon (et plus ou moins fonctionnel).

Tu devrais utiliser une table ascii, étant donné que tous les caractères de l'alphabets s'y suivent tu aurais juste à leur soustraire une valeur commune pour obtenir leur "nombre correspondant".

http://www.asciitable.com/
Messages postés
506
Date d'inscription
mercredi 24 novembre 2010
Statut
Membre
Dernière intervention
25 décembre 2014
127
=D plus rapide et efficace que toi ca n'existe pas ! Mille merci ça marche impeccable =D

edit: Je ne suis qu'en premiere année de DUT info je n'ai pas encore vu les tables ASCII ^^'