home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.disi.unige.it
/
2015-02-11.ftp.disi.unige.it.tar
/
ftp.disi.unige.it
/
pub
/
.person
/
CataniaB
/
teach-act
/
esempi
/
Strutture_Union
/
struct3.c
< prev
next >
Wrap
C/C++ Source or Header
|
1997-04-06
|
943b
|
56 lines
#include <stdio.h>
#define I 0
#define F 1
typedef struct {float x,y;} punto; /* punto nome di tipo! */
punto segmento[2];
punto segmento1[2];
/* Il tipo record(structure) puo' essere
usato come tipo di ritono e tipo degli argomenti di una funzione. */
punto initP(int x, int y) /* "crea" il punto con (x,y) */
{
punto P;
P.x=x; /* non c'e' conflitto con i campi del record */
P.y=y;
return P; /* P di tipo punto: ok */
}
void initS(punto segmento[],int xi,int yi,int xf,int yf )
{
segmento[I]=initP(xi,yi);
segmento[F]=initP(xf,yf);
}
int confP(punto P, punto Q)
{
return( P.x==Q.x && P.y==Q.y); /* bisogna confrontare campo x campo! */
}
int confS(punto s[], punto z[])
{
return(confP(s[I],z[I]) && confP(s[F],z[F]));
}
main()
{
initS(segmento,0,0,1,1);
initS(segmento1,0,0,1,2);
printf("\n %d",confS(segmento,segmento));
}