Si fatto..esatto! Grazie!!!
Però ora ho un problema per quanto riguarda il ciclo per mettere in ordine decrescente.
codice:
for ( j = 0; j < i ; j++ ) {
        if (matri[j].Invitati < matri[j+1].Invitati ) {
            strcpy(app, matri[j].Cognome_Sposo);
            strcpy(matri[j].Cognome_Sposo, matri[j+1].Cognome_Sposo);
            strcpy(matri[j+1].Cognome_Sposo, app);
            strcpy(app, matri[j].Cognome_Sposa);
            strcpy(matri[j].Cognome_Sposa, matri[j+1].Cognome_Sposa);
            strcpy(matri[j+1].Cognome_Sposa, app);
            appo = matri[j].Data;
            matri[j].Data = matri[j+1].Data;
            matri[j+1].Data = appo;
            appo = matri[j].Invitati;
            matri[j].Invitati = matri[j+1].Invitati;
            matri[j+1].Invitati = appo;
        }
    }
    printf("%d", j);
    printf("MATRIMONI ORDINATI IN SENSO DECRESCENTE IN BASE AL NUMERO DI IVNITATI\n");
    printf("%15s%15s%6s%18s", "COGNOME SPOSO", "COGNOME SPOSA", "DATA", "NUMERO INVITATI\n");
    for ( j = 0; j < i; j++ ) {
        printf("%15s%15s%6d%18d", matri[j].Cognome_Sposo, matri[j].Cognome_Sposa, matri[j].Data, matri[j].Invitati);
        printf("\n");
    }
Noto che se inserisco ad esempio 4 record . nella fase di stampa sembra che non vada a considerarmi il 3 record stampandomi invece l'ultimo per ben 2 volte.....per quale motivo???