Afficher un nombre avec char

Fermé
manio11 Messages postés 49 Date d'inscription mercredi 16 mai 2007 Statut Membre Dernière intervention 23 juin 2010 - 28 mars 2008 à 14:21
manio11 Messages postés 49 Date d'inscription mercredi 16 mai 2007 Statut Membre Dernière intervention 23 juin 2010 - 29 mars 2008 à 10:48
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
A voir également:

1 réponse

Mahmah Messages postés 496 Date d'inscription lundi 17 septembre 2007 Statut Membre Dernière intervention 22 juin 2010 125
28 mars 2008 à 17:53
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 Date d'inscription mercredi 16 mai 2007 Statut Membre Dernière intervention 23 juin 2010 2
29 mars 2008 à 10:48
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