mon code prend forme :
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
/* exo 2.C
ecrire un programme de conversion
décimal hexadécimal*/
main ()
{
int n;
int b;
int err;
int l; // longueur de n après changement de base
char tab[50];
printf ("Changement de base : base 2 <===> 16 \n\n");
printf ("Saisir un nombre en base 10 : ");
scanf ("%d", &n);
err = 1;
while (err)
{
printf ("Entrer une base 2 - 16 : ");
scanf ("%d", &b);
err = 0;
if (b < 2 && b > 16)
{
printf ("Erreur dans la base\n");
err = 0;
};
};
l= 0;
while (n)
{
tab[l++]= n%b;
n/=b;
}
switch (n)
{
case 10:
printf (a"A");
break;
case 11:
printf ("B");
break;
case 12:
printf ("C");
break;
case 13:
printf ("D");
break;
case 14:
printf ("E");
break;
case 15:
printf ("F");
break;
}
while (l)
{
printf ("%d", tab[--l]);
}
getch();
}
le pb est qe kan je rentre 20, il met 14 au lieu de 14A
POURQUOI?