Gli ho dato una sistemata
codice:#include <stdio.h> #include <string.h> #include <stdlib.h> typedef struct _ElementoLista { char identificativo[10]; double reale; double immaginario; struct _ElementoLista *next; } elementoLista, *pElemento; void stampalista(pElemento a); int main(void) { char identificativo[10] = ""; double reale = 0.0; double immaginario = 0.0; pElemento lista = NULL, nuovoElemento = NULL; FILE *fp; fp = fopen("prova.txt", "r"); if( ! fp ) { printf("Errore apertura file !\n"); exit( -1 ); } puts("Lettura da file :\n"); while( fscanf(fp, "%s %lg %lg", identificativo, &reale, &immaginario) != EOF ) { printf("%s = %g + %g\n", identificativo, reale, immaginario); nuovoElemento = (elementoLista*)malloc(sizeof(elementoLista)); strcpy( nuovoElemento->identificativo, identificativo ); nuovoElemento->reale = reale; nuovoElemento->immaginario = immaginario; nuovoElemento->next = lista; lista = nuovoElemento; } fclose(fp); stampalista(lista); puts("\n\nterminato"); getchar(); return (0); } void stampalista(pElemento a) { puts("\nContenuto lista :\n"); while( a!=NULL ) { printf("%s = %g + i%g\n", a->identificativo, a->reale, a->immaginario); a=a->next; } }

Rispondi quotando