Afficher un nombre avec char

manio11 Messages postés 49 Statut Membre -  
manio11 Messages postés 49 Statut Membre -
Bonjour,

j'ai une fonction affiche_caractere(char a) qui affiche lettre passée en parametre. si je veux afficher 4 par exemple,je mettrai affiche_caractere(52) (via le code ascii). mais comment afficher un nombre (ex : 234) à l'aide de cette fonction.

merci
Configuration: Windows Vista
Firefox 3.0

1 réponse

  1. Mahmah Messages postés 497 Statut Membre 125
     
    Bonjour,

    On peut faire à la main. (comme les romains)

    void affiche_nombre( int nombre )
    {
       if ( nombre > 9 )
       {
          char c = (char) (nombre%10) + '0';
    
          affiche_nombre( nombre / 10 );
          affiche_caractere( c );
       }
       else
       {
          affiche_caractere( (char) nombre + '0' );
       }
    }
    


    Naturellement si on a le droit au fonctions standard il y a moyen de faire plus rapide. (Quoique...)

    M.

    EDIT.
    Flute, j'ai oublié le signe:

    void affiche_nombre_signe( int nombre )
    {
       if ( nombre < 0 )
       {
          affiche_caractere( '-' );
          affiche_nombre( - nombre );
       }
       else
       {
          affiche_nombre( nombre );
       }
    }
    
    0
    1. manio11 Messages postés 49 Statut Membre 2
       
      et si on ne veut faire un test (negatif) sur le nombre, du genre où on entre -23, il convertir en ASCII puis affiche en chaine
      0