Salve a tutti, sono nuovo in questo forum. Ho una domanda da sottoporre a tutti voi. Ho sviluppato il progetto del database di un fantomatico Centro Sportivo, con le varie struct, menu, sottomenu e funzioni di manipolazione. Ora però mi manca da implementare questa funzione: "Al momento dell'ingresso, verificare che il socio entrante sia in regola con i pagamenti". L'unico indizio che mi ha dato il professore è questo: "basta fare la verifica della data in cui avviene l'ingresso,
la data deve essere minore della data di scadenza della quota"
Posto qui la porzione di codice della funzione che riguarda l'inserimento dell'ingresso:
codice:
void inserisci_ingresso()
{    
    Ingressi e;
    Ingressi eTemp;
    FILE *fIng; //file corso
    FILE *fInd; //file indice del corso
    
    printf("Numero: ");
    scanf("%d", &e.numero);
    printf("Nome: ");
    scanf("%s", &e.nome);
    printf("Cognome: ");
    scanf("%s", &e.cognome);
    printf("Data: ");
    scanf("%s", &e.data_ingresso);
    printf("Ora di ingresso(HH:MM): ");
    scanf("%s", &e.ora_ingresso);
    printf("Ora di uscita(HH:MM): ");
    scanf("%s", &e.ora_uscita);
    e.cancellato = 0;
    
    int cont = 0;
    
    fIng = fopen(ingressoAperto,"r+b");
    
    fread(&eTemp,sizeof(Ingressi),1,fIng);
    
    while(eTemp.cancellato != 1)
    {
        fread(&eTemp,sizeof(Ingressi),1,fIng);
        cont++;
    }
    
    int posInIngresso = cont;
    
    fseek(fIng,cont * sizeof(Ingressi),0);
    fwrite(&e,sizeof(Ingressi),1,fIng);
    fclose(fIng);
    
    Indice x;
    Indice xTemp;
    
    strcpy(x.chiave,e.cognome);
    x.valore = e.numero;
    
    fInd = fopen(indiceAperto,"r+b");
    
    cont = 0;
    fread(&xTemp,sizeof(Indice),1,fInd);
    
    while(strcmp(xTemp.chiave,"VUOTO") != 0)
    {
        fread(&xTemp,sizeof(Indice),1,fInd);
        cont++;
    }
    
    fseek(fInd,cont * sizeof(Indice),0);
    fwrite(&x,sizeof(Indice),1,fInd);
    fclose(fInd);
    
    IndiceCodice y;
    IndiceCodice yTemp;
    
    y.chiave = e.numero;
    y.valore = posInIngresso;
    
    fInd = fopen(indiceCodiciAperto,"r+b");
    
    cont = 0;
    fread(&yTemp,sizeof(IndiceCodice),1,fInd);
    
    while(yTemp.chiave != -1)
    {
        fread(&yTemp,sizeof(IndiceCodice),1,fInd);
        cont++;
    }
    
    fseek(fInd,cont * sizeof(IndiceCodice),0);
    fwrite(&y,sizeof(IndiceCodice),1,fInd);
    fclose(fInd);
    
    IndiceCodice ind[max];
    fInd = fopen(indiceCodiciAperto,"rb");
    
    int i;
    for(i = 0; i < max; i++)
    {
        fread(&ind[i],sizeof(IndiceCodice),1,fInd);
    }
    
    fclose(fInd);
    
    OrdinaIndiceCodici(ind,max);
    
    fInd = fopen(indiceCodiciAperto,"wb");
    
    for(i = 0; i < max; i++)
    {
        fwrite(&ind[i],sizeof(IndiceCodice),1,fInd);
    }
    fclose(fInd);
    printf("Aggiornamento indici completato.\n");
}

Aiutatemi a implementarla se potete!! Io non so assolutamente come si fa...