1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
| #include <stdio.h>
int bin2dec(char *bin)
{
int dec = 0;
while(*bin)
{
dec = (2 * dec) + (*bin - '0');
bin++;
}
return dec;
}
void dec2bin(int dec, char *bin, int size)
{
int reste = 1, i;
memset(bin, '0', size);
for(i = (size-1); reste != 0; i--)
{
reste = dec / 2;
*(bin+i) = (dec % 2) + '0';
dec = reste;
}
*(bin+(size)) = '\0';
return;
}
int menu ()
{
int choix = 0;
while (choix <1 || choix > 6)
{
printf("-== Menu ==-\n\n");
printf("1 : Decimal --> Binaire\n");
printf("2 : Binaire --> Decimal\n");
printf("3 : Decimal --> Hexadecimal\n");
printf("4 : Hexadecimal --> Decimal\n");
printf("5 : Binaire --> Hexadecimal\n");
printf("6 : Hexadecimal --> Binaire\n\n");
printf("Votre choix ?");
scanf("%d", &choix);
system("cls");
}
return choix;
}
int main(int argc, char *argv[])
{
char buf[256];
int nb = 0;
int caractere = 0;
char binaire = 0;
switch (menu())
{
case 1 :
system("cls");
printf("Choisissez un nombre decimal pour le convertir en binaire?\n\n");
scanf("%d", &nb);
printf("\n");
dec2bin(nb, buf, 8);
printf("%s\n\n", buf);
printf ("\nAppuyez sur Entrer pour quitter\n"); // Fonction pour mettre en pause, d'ici
getchar(caractere);
getchar (); // Jusqu'ici
break;
case 2:
system("cls");
printf("Choisissez un nombre binaire pour le convertir en decimal?\n\n");
scanf("%d", &nb);
printf("\n");
binaire = bin2dec(nb);
printf("%d\n\n", binaire);
printf ("\nAppuyez sur Entrer pour quitter\n"); // Fonction pour mettre en pause, d'ici
getchar(caractere);
getchar (); // Jusqu'ici
break;
}
}
/*Merci a kod32*/ |
Partager