Soyez le premier à donner votre avis sur cette source.
Snippet vu 3 080 fois - Téléchargée 29 fois
#include <stdio.h> int convertion (int base,int nombre,int tab []); void convertion_nombre_lettres (int tab[],int i); int convertion (int base,int nombre,int tab []) { int i; i=0; do { tab[i]=(nombre%base); nombre=nombre/base; i++; } while (nombre>0); return (i); } void convertion_nombre_lettres (int tab[],int i) { int j; char conv[17] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; for (j=0;j<i;j++) { tab[j]=conv[tab[j]]; } } main () { int base,nombre,tab[32],i,j,continuer; do { printf("introduire une nombre entier positif en base 10\n"); scanf ("%d",&nombre); printf("introduire la base de convertion (max=16)\n"); scanf ("%d",&base); i=convertion (base,nombre,tab); printf("%d en base %d vaut : ",nombre,base); if (base>10) { convertion_nombre_lettres(tab,i); for (j=i-1;j>=0;j--) { printf ("%c",tab[j]); } } else { for (j=i-1;j>=0;j--) { printf ("%d",tab[j]); } } printf("\n"); printf ("voulez vous continuer ?(1=oui)\n"); scanf ("%d",&continuer); printf("\n"); } while (continuer==1); }
14 mars 2004 à 13:21
12 mars 2004 à 16:52
et puis ds les noms de tes fct tu écris "convertion" ça c'est pas du français.
ah, une chose: évite les do/while, c'est Bjarne Stroustrup qui le dit lui-même! préfère des while.
change le char conv en static char conv.
static veut dire que la variable n'est pas détruite quand tu sors de la fonction, elle garde donc sa valeur. de plus, lorsque la fct est relancée, elle n'est plus initialisée, donc ton tableau n'est créé qu'une fois par exécution du programme, lors du premier appel de la fonction.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.