[C]Besoin d'aide pour un conflit de types

Fermé
Loïc - 16 déc. 2006 à 16:01
 Utilisateur anonyme - 16 déc. 2006 à 16:30
Bonjour, je suis étudiant dans un IUT GEII et je bloque sur un programme où l'on doit faire additionner 2 nombres binaires à l'aide des structures. Je ne vous demande pas de corriger mon programme mais de m'indiquer mon erreur .


#include<stdio.h>
#include<stdbool.h>

typedef bool nb_binaire[8];

typedef struct
{
        nb_binaire nombre_bin;
        bool retenue;
}resul_binaire;

resul_binaire calcul_add(nb_binaire bin1, nb_binaire bin2)
{
              unsigned char i;
              bool r;
              nb_binaire bin3;
              resul_binaire resul;
              r=0;
              for(i=7;i>0;i--)
              {
                              if(r==0)
                              {
                                      bin3[i] = bin1[i] ^ bin2[i];
                                      r = bin1[i] & bin2[i];
                              }
                              else
                              {
                                      bin3[i] = !(bin1[i] ^ bin2[i]);
                                      r = bin1[i] | bin2[i];
                              }
              }
              resul.nombre_bin = bin3;
              resul.retenue = r;
              return(resul);
}

int main()
{
    nb_binaire b1,b2;
    resul_binaire b_add;
    unsigned char k;
    b1={1,0,1,0,0,1,1,0};
    b2={1,1,0,1,0,1,1,1};
    b_add = cacul_add(b1,b2);
    printf("b1+b2=%s",b_add.retenue);
    for(k=0;k<7;k++)printf("%s",b_add.nombre-bin[k]);
    system("pause");
    return(0)
}



Ma première erreur( et celle qui me gêne le plus) se trovue à la ligne "resul.nombre_bin = bin3;" où le programme m'indique ine incompatibilité entre les types qui sont pourtant tous les 2 définis par la structure nb_bnaire( qui est un tableau de 8 booléens). S vous ne comprenez pas une partie du programme, je peux vous l'expliquer . Merci d'avance pour vos réponses, en espérant que mon problème vous parait clair, sinon signalez le moi .

1 réponse

Utilisateur anonyme
16 déc. 2006 à 16:30
est ce normal que tu est defini ta variable nb_binaire comme un tableau booleen ? car booleen indique que deux valeur : vrai ou faux (true ou false)
0