Originariamente inviato da oregon
Come fai a compilare il programma se j non e' dichiarata?
ora credo che va bene

codice:
#include <stdio.h>
#include <stdlib.h>
#define n 3
/*
 *
 */
int main() {

    struct body {
        int n_tessera;
        char cognome[15];
        char nome[15];
        char tipo_iscrizione[12];
        float costo;
        int tipo_corso;
       }iscri[n];

       int i,v,j;
       char buffer[] = "annuale";

		FILE *cfPtr;

       printf ("INSERISCI I DATI DEI CLIENTI\n");

       for (i = 0; i < n; i++){
           printf ("Numero tessera : \n");
           scanf("%d", &iscri[i].n_tessera);
           printf ("Cognome : \n");
           scanf ("%s", iscri[i].cognome);
           printf ("Nome : \n");
           scanf("%s", iscri[i].nome);
           printf("Iscrizione - annuale, semestrale, trimestrale, mensile : \n");
           scanf("%s", iscri[i].tipo_iscrizione);
           printf("Costo : \n");
           scanf("%f", &iscri[i].costo);
           printf("Tipo : \n");
           scanf("%d", &iscri[i].tipo_corso);
       }

       for (i = 0; i < n; i++){
            v = strcmp(iscri[i].tipo_iscrizione,buffer);
            if (v == 0){
                printf("\nNumero tessera : %d", iscri[i].n_tessera);
                printf("\nCognome : %s", iscri[i].cognome);
                printf("\nNome : %s", iscri[i].nome);
                printf("\nCosto : %.2f", iscri[i].costo);
                printf("\nTipo : %d", iscri[i].tipo_corso);
	   }
      }

		

		cfPtr = fopen("palestra.dat", "wb");

        for (j = 0; j < n; j++){
            fwrite(&iscri[j], sizeof(struct body), 1 ,cfPtr);
            }

		fclose(cfPtr);

	   system("PAUSE");

    return 0;
}