salve, ho questo problema..
se io ho una funzione del genere molto semplice:
la richiamo nel main prima in questo modo:codice:void read_vector(Vettore v, int* n, Stringa nome_file){ register int i; FILE*f; printf("Inserire il nome del file in cui sono contenuti i dati del campo magnetico\n(specificare anche il suo indirizzo se il file non e' collocato nella stessa \ncartella dell'exe): "); else printf("Inserire il nome del file in cui sono contenuti i dati del campo gravitazionale\n(specificare anche il suo indirizzo se il file non e' collocato nella stessa \ncartella dell'exe): "); scanf("%s", nome_file); f=fopen(nome_file,"r"); if (f==NULL){ printf ("\nSi e' verificato un errore . . .\nFile inesistente, il programma verrà terminato. . .\n"); system("PAUSE"); exit(0); } fscanf(f,"%d",n); for (i=0;i<*n;i++) fscanf(f,"%f",&v[i]); }
poi così:codice:read_vector(v,&n,nome_file);
((naturalmente dopo aver fatto il preambolo, prototipi dichiarato variabili, typedef, etc..))codice:read_vector(w,&m,nome_file);
tutta funziona bene.. però se volessi fare in modo che quando utilizzo il vettore w il printf mi stampi a video un'altra cosa??
mi spiego meglio..
io voglio che la prima volta che richiamo la funzione, questa mi stampi a video quello che c'è scritto sopra nel printf...
poi la seconda volta invece di stamparmi campo magnetico, mi deve stampare campo gravitazionale...
come dovrei fare??? però è importante che la funzione sia una e con quei parametri di entrata/uscita...

Rispondi quotando