lundi 25 février 2013


Exercice corrigé en langage C++ : 

Ecrire un programme qui convertit les nombres de la base binaire vers la base de 10  . le programme doit être comme ça :
1- Convertir un nombre de base 2 vers  la base 10 .
2- Convertir un nombre de base 10 vers la base 2 .
3 - Quitter le programme .



Solution :


#include<math.h>
#include<conio.h>
#include<iostream.h>

   void converter_binary_to_decimal(long binary_1)
   {
   long binary_2;
   int itoa[20],var_temp=0,decimal=0,i=0;     
   binary_2=binary_1;
   while(binary_1>9)

     {
      itoa[var_temp]=binary_1%10;
      binary_1=(int)binary_1/10;
      var_temp++;
     }

   itoa[var_temp]=binary_1;
   for(i=0;i<var_temp+1;i++)
   decimal+=itoa[i]*pow(2,i);
   cout<<"["<<binary_2<<"]2=["<<decimal<<"]10"<<endl;     
   }

   void converter_decimal_to_binary(long N)
   {
   int i=0,binary[32];
   long M=N;
   for(;N>0;i++)

       {binary[i]=(N%2==0) ? 0:1;N/=2;}
         i--;
        cout<<"["<<M<<"]10=[";
       for(;i>=0;i--)
       cout<<binary[i];
      cout<<"]2"<<endl;
      }
int main ()
{
long binary,n;
char choix;
system("color F9");
cout<<"\t\t*****************************************"<<endl;
cout<<"\t\t   ********** binary-decimal *********"<<endl;
cout<<"\t\t*****************************************"<<endl;
debut:
cout<<"1-Pour convertir un nombre en base 2 vers la base 10."<<endl;
cout<<"2-Pour convertir un nombre en base 10 vers la base 2."<<endl;
printf("3-pour quitter le programme.\n");
cout<<"donnez votre choix:";
choix=getche();
switch(choix)
{
case'1':  
{
cout<<endl<<"entrez un nombre en base 2 :";
cin>>binary;
if (cin.fail())
cout<<"erreur\a valeur incorrect"<<endl;
else
converter_binary_to_decimal(binary);
system("pause");
};break;
case'2':
{
cout<<endl<<"entrez un nombre en base 10:";
cin>>n;
if (cin.fail())
cout<<"erreur\a valeur incorrect"<<endl;
else
converter_decimal_to_binary(n);
system("pause");
};break;
case'3':system("exit");break;
default:{cout<<endl<<"\achoix incorrect"<<endl;goto debut;}
}        
return 0;
}

0 commentaires:

Enregistrer un commentaire

Copyright © 2013 Exercices Langages de Programmation | Powered by Blogger
Design by Theme Junkie
Blogger Template by Lasantha | PremiumBloggerTemplates.com