Record e information hiding

di il
1 risposte

Record e information hiding

Salve, questi sono i miei codici:
MAIN.C
int main(int argc, char const *argv[])
{
punto p1,p2;
float x1,y1,x2,y2;
x1=atoi(argv[1]);
y1=atoi(argv[2]);
p1=creaPunto(x1,y1);
do
{
printf("Inserisci il punto\n");
printf("X: ");
scanf("%f",x2);
printf("Y: ");
scanf("%f",y2);
p2=creaPunto(x2,y2);
if(distanza(p1,p2)==1)
printf("FUOCO\n");
else printf("ACQUA\n");
}while(p1->x!=p2->x&&p1->y!=p2->y);
return 0;
}
PUNTO.C
struct punto
{
float x;
float y;
};
Punto creaPunto(float x,float y)
{
punto p;
p->x=x;
printf("X %f\n",p->x);
p->y=y;
printf("Y %f\n",p->y);
return p;
}
float ascissa(Punto p)
{
return p->x;
}
float ordinata(Punto p)
{
return p->y;
}
float distanza(Punto p1,Punto p2)
{
float dx=p2->x-p1->x;
float dy=p2->y-p1->y;
return sqrt(dx*dx+dy*dy);
}
PUNTO.H
typedef struct punto *punto;
punto creaPunto(float x,float y);
float ascissa(punto p);
float ordinata(punto p);
float distanza(punto p1,punto p2);

Questo è invece l'errore:
error: dereferencing pointer to incomplete type 'struct punto'
}while(p1->x!=p2->x&&p1->y!=p2->y);

Come posso risolverlo

1 Risposte

  • Re: Record e information hiding

    Devi usare i tag CODE per postare il codice nel forum, altrimenti non si capisce nulla.

    Comunque, la
    
    struct punto
    {
      float x;
      float y;
    };
    
    va nel file include punto.h e questo va incluso nei file .c

    Poi ci sono problemi di maiuscole e minuscole tra punto e Punto
Devi accedere o registrarti per scrivere nel forum
1 risposte