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

1 réponse

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
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