/*-------- FUNZIONI GESTIONE ISCRIZIONI --------*/
int aggiungi_iscrizione(int n)
{
r = (registration *) realloc(r, (n+1) * sizeof(registration));
printf("Inserire il numero della tessera:\n");
if( scanf("%d", (r+n)->numero_tessera) == 1)
{
printf("%d", (r+n)->numero_tessera);
} else {
printf("Input FAILED!\n");
}
printf("Inserire la data di nascita:\n");
if( scanf("%s", (r+n)->datadinascita) == 1)
{
printf("%s", (r+n)->datadinascita);
} else {
printf("Input FAILED!\n");
}
printf("Inserire il prezzo dell'iscrizione:\n");
if( scanf("%lf", (r+n)->quota) == 1)
{
printf("%lf", (r+n)->quota);
} else {
printf("Input FAILED!\n");
}
printf("Inserire la data del pagamento (formato GG/MM/AAAA:\n");
if( scanf("%s", (r+n)->data_pagamento) == 1)
{
printf("%s", (r+n)->data_pagamento);
} else {
printf("Input FAILED!\n");
}
n++;
return n;
}
void leggi_iscrizione(int n)
{
int i;
printf("Numero tessera\tData di nascita\tPagamento\tData del pagamento\n");
for(i=0;i<n;i++)
{
printf("%d\t%s\t%f\t%s\n", (r+i)->numero_tessera, (r+i)->datadinascita, (r+i)->quota, (r+i)->data_pagamento);
printf("\n");
}
}
void aggiorna_iscrizione(int n)
{
char ricerca[50];
int i;
printf("Numero tessera da cercare:\n");
if( scanf("%s", ricerca) == 1)
{
printf("%s", ricerca);
} else {
printf("Input FAILED!\n");
}
for(i=0;i<n;i++)
{
if(strcmp((r+i)->numero_tessera,ricerca)==0)
{
printf("Nuovo numero di tessera:\n");
if( scanf("%d", (r+i)->numero_tessera) == 1)
{
printf("%d", (r+i)->numero_tessera);
} else {
printf("Input FAILED!\n");
}
printf("Nuovo data di nascita:\n");
if( scanf("%s", (r+i)->datadinascita) == 1)
{
printf("%s", (r+i)->datadinascita);
} else {
printf("Input FAILED!\n");
}
printf("Nuovo prezzo dell'iscrizione:\n");
if( scanf("%f", (r+i)->quota) == 1)
{
printf("%lf", (r+i)->quota);
} else {
printf("Input FAILED!\n");
}
printf("Nuova data del pagamento:\n");
if( scanf("%s", (r+i)->data_pagamento) == 1)
{
printf("%s", (r+i)->data_pagamento);
} else {
printf("Input FAILED!\n");
}
}
}
}
int elimina_iscrizione(int n)
{
char ricerca[50];
int i;
int j=0;
int indice;
int flag=0;
registration *v;
v=NULL;
printf("Numero tessera da eliminare:\n");
if( scanf("%s", ricerca) == 1)
{
printf("%s", ricerca);
} else {
printf("Input FAILED!\n");
}
for(i=0;i<n;i++)
{
if(strcmp((r+i)->numero_tessera,ricerca)==0)
{
flag=1; //trovato=1, non trovato=0
indice=i;
}
}
if(flag)
{
r = (registration *) realloc(r, (n-1) * sizeof(registration));
for(i=0;i<n;i++)
{
if(i != indice)
{
strcpy((v+j)->numero_tessera, (r+i)->numero_tessera);
strcpy((v+j)->datadinascita, (r+i)->datadinascita);
strcpy((v+j)->quota, (r+i)->quota);
strcpy((v+j)->data_pagamento, (v+j)->data_pagamento);
j++;
}
}
free(r);
n--;
r=v;
} else printf("Non trovato");
return n;
}