Imcompatibilite de type en c

Antoine -  
Jones9000 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, j'ai un soucis d'incompatibilité de type. Je vous envoie mon code. Aidez moi à résoudre ce problème merci.
#include <stdio.h>
#include <math.h>
struct pointDansEspace
{
float Ox,Oy,Oz;
};
struct vecteurDansEspace
{
struct pointDansEspace FinSegment,DebutSegment;
float Positif,Negatif;
};
float lgrSegment(struct vecteurDansEspace Ax,struct vecteurDansEspace Ay,struct vecteurDansEspace Az,struct vecteurDansEspace Bx,struct vecteurDansEspace By,struct vecteurDansEspace Bz)
{
float ABX,ABY,ABZ;
float longAB;
ABX=(Bx.FinSegment.Ox) - (Ax.DebutSegment.Ox);
ABY=(By.FinSegment.Oy) - (Ay.DebutSegment.Oy);
ABZ=(Bz.FinSegment.Oz) - (Az.DebutSegment.Oz);
longAB=(ABX*ABX+ ABY*ABY + ABZ*ABZ);
return sqrt(longAB);
}
int main()
{
printf("%g",lgrSegment(3,4,5,6,7,12));
}
A voir également:

2 réponses

Antoine
 
Quand j'execute on m'envoie des erreurs sur les arguments de ma fonction.. Quand je l'appelle dans mon main.
Aidez moi svp...
0
Jones9000 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour

Ton erreur est totalement normale puisque dans ta déclaration tu as écrit que ta fonction reçoit 6 arguments qui sont des structures vecteurDansEspace et dans le main() tu lui passe 6 entier
Tu crois des variables de type structure vecteurDansEspace et les initialiser dans le main afin de les passer en argument ou bien tu peux passer les arguments sous formes de tableaux genre :
lgrSegment( { { 2 , 3 , 4 }, { 5 , 6 , 7 }, 8 , 9 } , ... )

Cordialement
0