|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Feb 2001
Messaggi: 14
|
Prolema di programma in C!!!!Aiuto!
Ciao a tutti,sto facendo un maledetto programma in C di gestione di una rubrica telefonica di indirizzi e numeri di telefono,tramite Record\Array di strutture.
IL programma stampa un menu' delle operazioni da fare (inserimento dati,ricerca,stampa,cancella,ecc),-> dopo il main vi è la definizione di ogni funzione. Il problema e' questo: a parte l'inserimento,in tutte le altre funzioni,ci vuole un ciclo FOR perche' si leggano i record dal file.txt e li si memorizzi, e poi un altro ciclo FOR per la stampadel vettore,o per vagliare un nome nel vettore,ecc. (giusto no?),ma anche se nel file i dati ci sono,mi si dice sempre che nn trova nessun dato (cioe' dato inserito inesistente,clausola che ho messo io nel caso nn trovi niente nel vettore): void ricerca_persona ( ) { FILE *fp1 ; if ( ( fp1 = fopen ( “persone.txt” , “r” ) ) == NULL) { printf (“ \nImpossibile aprire il file\n ”) ; exit (1) ; } int i ; int j ; char C [50] ; char N[50] ; int tr=1 ; for ( i=0 ; i<DIM ; i++ ) { fscanf ( fp1 , "%d %s %s " , &P[i].codice_persona , P[i].cognome , P[i].nome ) ; fgets ( P[i].indirizzo , DIM , fp1 ) ; } printf ( “\nDigitare cognome e nome della persona separati da un newline\n” ) ; scanf ( “%s\n%s” , C , N ) ; for ( j=i ; j<DIM ; j++ ) { if ( P[j].cognome == C && P[j].nome == N ) { printf ( “I dati mancanti della persona sono :\n%s\n%d\n” , P[j].indirizzo , P[j].codice_persona ); tr=0 ; } } if (tr == 1) printf ( “\nDato inserito inesistente\n” ) ; fclose ( fp1 ) ; return ; } dove sta l'errore che nn trova i dati?? Grazie |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:04.



















