#include <stdio.h>
#include <stdlib.h>

#include  <string.h>

typedef struct	{
	char nome[256] ;
	char cognome[256] ;
	int voto[3];  	// voto[0] e' il voto della giuria (da 0 a 100),
	             	// voto[1] quello della giuria speciale e voto[2] il voto
	             	// telefonico.
	int altezza;
	int peso;
	int cucina;    	// 0= aiuto!!!  10= apre un ristorante
} MissItalia;     	// Iniziale maiuscola

void inserisci_miss(MissItalia *Concorso, int i);  // chiede una miss all'utente e la inserisce in posizione i di Concorso
void copia_miss(MissItalia ragazza1, MissItalia *ragazza2);// copia la ragazza1 nella ragazza2
void stampa_concorso(MissItalia *Concorso, int dim);  // stampa il nome di tutte le miss in Concorso

int main()
{
    MissItalia *Concorso;
    int dim;
    int i;
    printf("Quante miss sono in concorso? --> ");
    scanf("%d", &dim); 
   
    // inizializza il vettore Concorso che contiene tutte le miss

    Concorso = (MissItalia *) calloc (dim, sizeof(MissItalia));
    if (Concorso == NULL) {
      printf("E' finita la memoria");
      exit(-1);
    }
    
    
    for (i=0; i<dim; i++)
      inserisci_miss (Concorso, i); 
  
    copia_miss(Concorso[0], &Concorso[dim-1]); // copia nell'ultima posizione la prima miss
  
    stampa_concorso(Concorso, dim);  
   
    free(Concorso);
    fflush(stdin);	
    getchar();	
    exit(0);
}

void inserisci_miss(MissItalia *Concorso, int i)
{
   printf("Dammi il nome della miss %d --> ", i);
   scanf("%s", Concorso[i].nome  );
   printf("Dammi il cognome della miss %d --> ", i);
   scanf("%s", Concorso[i].cognome );
   Concorso[i].altezza = 180;
   Concorso[i].voto[0] = 80;
   Concorso[i].voto[1] = 90;
   Concorso[i].voto[2] = 99;
   Concorso[i].peso    = 78;
   Concorso[i].cucina  = 0;  // aiuto!!!
}


void copia_miss(MissItalia ragazza1, MissItalia *ragazza2) 
{
   strcpy(ragazza2->nome, ragazza1.nome);
   strcpy(ragazza2->cognome, ragazza1.cognome);
   ragazza2->altezza = ragazza1.altezza;
   ragazza2->voto[0] = ragazza1.voto[0];
   ragazza2->voto[1] = ragazza1.voto[1];
   ragazza2->voto[2] = ragazza1.voto[2];
   ragazza2->peso    = ragazza1.peso ;
   ragazza2->cucina  = ragazza1.cucina;  
   
}

void stampa_concorso(MissItalia *Concorso, int dim)  // stampa il nome di tutte le miss in Concorso

{
   int i;
   for (i=0; i<dim; i++)
      printf("\n\n miss %s ", Concorso[i].nome);
}