Les Allergies
Alimentaires
Posez votre question Signaler

Binaire to decimal langage C [Résolu]

amine_marc 99Messages postés 21 février 2010Date d'inscription 22 mai 2012Dernière intervention - Dernière réponse le 14 mars 2010 à 23:42
salut,
Est ce que qq'un peut m'aider à convertir ce programme en langage C de C++:
#include<iostream.h>
#include<conio.h>
#include<string.h>
main()
{
char rep;
int bin,c1,c2,c3,c4,c5,dec;
do{
clrscr();
cout<<"Entrer le nombre en binaire: ";
cin>>bin;
c1=bin / 10000;
c2=(bin % 10000) / 1000;
c3=(bin % 1000) / 100;
c4=(bin % 100) / 10;
c5=bin % 10;
dec=c5+c4*2+c3*4+c2*8+c1*16;
cout<<"Le décimale de ce nombre est = "<<dec;
cout<<"\n \n Autre conversion?(O/N) ";
cin>>rep;
}while(rep=='o' || rep=='O');
cout<<"\n \n **** Merci **** ";
}
merci d'avance.
Lire la suite 

Binaire to decimal langage C »

5 réponses
Réponse
+1
moins plus
Bonjour,
Poste ta solution qu'on puisse t'aider à corriger.
Ce n'est pas très dur, il suffit de remplacer les cout par des printf et les cin par des scanf (ou mieux getchar).
Le prototype de main sans argument est : int main(void).
Et n'oublie pas le return 0; final.
Bien sûr à la place de iostream.h, il te faudra mettre stdio.h
Cdlt,
Ajouter un commentaire
Réponse
+1
moins plus
printf("%d",&dec);
Ici tu affiches l'adresse mémoire de dec. Il faut mettre : printf("%d",dec);

return 0;
getch();

Ton getch() ne sert à rien puisqu'il est situé après le return 0.
Soit tu le mets avant (et ce n'est pas très portable), soit tu l'enlèves.

Cdlt,
Ajouter un commentaire
Réponse
+0
moins plus
merci fiddy, j'ai essayé de faire la conversion, mais le programme apres l'execussion ne donne que des 0.000 comme resultat, voici le programme c que j'ai fais:

#include<stdio.h>
#include<conio.h>
#include<string.h>

int main(void)
{
char rep;
int bin,c1,c2,c3,c4,c5,dec;
do{
clrscr();
printf("Entrer le nombre en binaire: ");
scanf("%f",&bin);

c1=bin / 10000;
c2=(bin % 10000) / 1000;
c3=(bin % 1000) / 100;
c4=(bin % 100) / 10;
c5=bin % 10;

dec=c5+c4*2+c3*4+c2*8+c1*16;

printf("Le décimale de ce nombre est = ");
printf("%f",&dec);
printf("\n \n Autre conversion?(O/N) ");
scanf("%c",&rep);

}
while(rep=='o' || rep=='O');
printf("\n \n **** Merci **** ");
return 0;
getch();
}
Ajouter un commentaire
Réponse
+0
moins plus
j'ai fait encore autres modification, mais cette fois, il s'affiche 7234:
voici le code :

#include<stdio.h>
#include<conio.h>

int main()
{

int bin,c1,c2,c3,c4,c5,dec;

printf("Entrer le nombre en binaire: ");
scanf("%d",&bin);

c1=bin / 10000;
c2=(bin % 10000) / 1000;
c3=(bin % 1000) / 100;
c4=(bin % 100) / 10;
c5=bin % 10;

dec=c5+c4*2+c3*4+c2*8+c1*16;

printf("Le décimale de ce nombre est = ");
printf("%d",&dec);


return 0;
getch();
}
Est ce que vous pouurrez me dire la solution? Merci.
Ajouter un commentaire
Réponse
+0
moins plus
Oui ça marche bien fiddy, merci bcp.
Ajouter un commentaire
Ce document intitulé « binaire to decimal langage C » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?