salve, ho un problema con un programma.. in poche parole ho creato una funzione sfruttando anche il tipo struct.. però penso che abbia qualche problema con i puntatori.. perchè all'interno della funzione è tutto ok, ma i valori che dovrebbero acquisire le variabili, quando passo al main, vengono persi...
questa postata è la funzione che mi legge da file i valori che mi servono.. però quando nel main richiamo un'altra funzione che si occupa della stampa, i valori sono sballati..codice:void lettura_voti(record dati, stringa s1, stringa s2, int*n){ register int i; int m; FILE*f; FILE*r; FILE*t; printf("\nInserire il nome del file in cui sono contenuti i voti dei giocatori(specificareanche il suo indirizzo se il file non e' collocato nella stessa cartella \ndell'exe): "); scanf("%s",s1); f=fopen(s1,"r"); if (f==NULL) { printf ("\nSi e' verificato un errore . . .\nFile inesistente, procedere con l'inserimento dei voti manuale . . .\n"); lettura_alternativa(dati,n); } else{ fscanf(f,"%d",n); for(i=0;i<*n;i++) fscanf(f,"%f",&dati.gio[i]); } printf("\nInserire il nome del file in cui e' contenuto l'elenco dei nomi della formazioneschierata(specificare anche il suo indirizzo se il file non e' collocato nella \nstessa cartella dell'exe): "); scanf("%s",s2); r=fopen(s2,"r"); if (r==NULL) { printf ("\nSi e' verificato un errore . . .\nFile inesistente, i nomi dei giocatori non saranno mostrati . . .\n"); t=fopen("file_errore.txt","r"); fscanf(t,"%d",&m); for(i=0;i<m;i++) fscanf(t,"%s",dati.mia_rosa[i]); } else { fscanf(r,"%d",&m); for(i=0;i<m;i++) fscanf(r,"%s",dati.mia_rosa[i]); } }
penso che centrano i puntatori perchè se provo a fare un printf dei valori appena acquisiti nella funzione suscritta, i valori stampati sono esatti...
help me, please!!
edit: ho dimenticato di scrivere il preambolo, che altrimenti non si capisce una mazza
codice:#define M 12 #define G 50 typedef float voti[M]; typedef char giocatore[G]; typedef giocatore formazione[M]; typedef char stringa[G]; typedef struct { voti gio; formazione mia_rosa; } record;

Rispondi quotando
), sei stato di grande aiuto!
