bonsoir ,
je dois faire un petit prog qui additione 2 nombres binaire.
Le probleme c' est que mes 2 nombres étant des chaines de caractére ca me renvoit une chaine de caractére.
Ex : 1+1= b
Donc voila si qqun voit merci d' avance !!
#include <iostream.h>
#include <string.h>
#include <stdlib.h>
int verif(char * a)
{
for (int i=0;i<strlen(a);i++)
{
if (a[i]!='0' && a[i]!='1')
return(0);
}
return(1);
}
char* addition( char * nb1, char * nb2)
{
char *nb;int taille;
nb=new char[50];
int taille1=strlen(nb1);
int taille2=strlen(nb2);
int reste=0;
int nombre;
int c1,c2;
if (taille1 >taille2)
taille=taille1;
else
taille=taille2;
for (int i=0 ; i< taille;i++)
{
c1=(int)nb1[i];;
c2=(int)nb2[i];
nombre=c1+c2+reste;
// nb[i]=nombre
if ( nombre == 2)
{
nb[i]='0';
reste=1;
}
else
{
nb[i]=(char)nombre;
}
}
return(nb);
}
int main()
{
char *a,*b,*c;
a=new char[50];
b=new char[50];
c=new char[50];
cout<< " Entrez 2 nombres binaires:" << endl;
cout << " le premier : " << endl;
cin >> a ;
cout << " le second : " << endl;
cin >> b ;
if (( verif(a) && verif(b)) == 1)
{
c=addition(a,b);
cout << a <<" +"<< b<<" = " <<c << endl ;
}
else
{
if (( verif(a) || verif(b)) ==0)
{
cout <<"Les deux nombres ne sont pas binaires";
}
else
{
if ((verif(a))==0)
{
cout << "Le premier nombre n' est pas binaire";
}
else cout << "le second nombre n' est pas binaire";
}
}
return(1);
}