/* Punto */
  
#include <stdio.h>
#include <stdlib.h>

typedef struct
{
   float x ;
   float y ;

} Punto;     // Iniziale maiuscola

// Immagina di disporre di una procedura che dati due 
// punti traccia un segmento:
void stampa(Punto punto1, Punto punto2); 

// 2. dichiara una procedura che dato l'indirizzo di una variabile dello stesso
// tipo di pentagono permette all'utente di inserire i valori delle 
// coordinate dei punti;
void inserisciPentagono(Punto pentagono[]);

// 3. dichiara una procedura che usando stampa() stampa il pentagono;
void stampaPentagono(Punto pentagono[]);
       
// 4. dichiara una FUNZIONE che dato un punto ed un pentagono, ritorna 1
// se il punto e' interno, 0 se esterno.
int puntoInterno(Punto punto, Punto pentagono[]);

int main()
{
   // 1. dichiara un array di 5 punti di nome pentagono;
   Punto pentagono[5];
   Punto punto;
   
   punto.x = 2.6;
   punto.y = 3.0;
   
   // chiamate delle tre funzioni
   inserisciPentagono(pentagono);
   stampaPentagono(pentagono);
   
   if (puntoInterno(punto, pentagono))
   { 
      printf("Punto interno!");
   }

   else
   { 
      printf("Punto esterno!");
   }
      
   fflush(stdin);
   getchar();
   return 0;
}
 
// Al posto delle definizioni prova a mettere fra le graffe delle 
// definizioni una semplice printf del tipo printf("prova \n"); 

void stampa(Punto punto1, Punto punto2)
{
   printf("prova \n"); 
}

void inserisciPentagono(Punto pentagono[])
{
   printf("prova \n"); 
}

void stampaPentagono(Punto pentagono[])
{
   printf("prova \n"); 
}

int puntoInterno(Punto punto, Punto pentagono[])
{
    return 1;
}