Salve.
Per il primo esame di fondamenti di infomatica ci hanno chiesto di implementare una struttura dati.
Così io ho deciso di optare per una tabella (da lui stesso suggerita) e fin'ora ho implementato inserimento, ricerca (sia per parti che per nome completo) in tutti i campi e bla bla bla.
Purtroppo, non potendo usare nè i file ad accesso casuale, ne le API di Windows, mi sono trovato in difficoltà nel modificare un record scritto su un file di testo.
E' un file ad accesso sequenziale, del tipo
Ora dovrei, su richiesta dell'utente, modificare l'ultimo intero. E ho pensato a una cosa del genereintero stringa stringa stringa stringa intero
Nella speranza che le fscanf mi permettessero di andare avanti nei records, ma a quanto pare non funziona (il file è aperto in modalità r+)codice:void EliminaNome(FILE *f) { int Index; Rubrica rub; printf("Inserire l'indice da eliminare: "); scanf("%d",&Index); if (Index < 0) printf("\nIndice non valido"); else if (Index > ProssimoIndice(f) - 1) printf("\nIl record selezionato non esiste"); else { fseek(f,0,SEEK_SET); for (unsigned int i = 0; i < Index-1; i++) { if (feof(f)) break; fscanf(f,"%d %s %s %s %s %d",&rub.Index,rub.Nome.Nome,rub.Nome.Cognome,rub.Nome.Indirizzo,rub.Nome.Telefono,&rub.Eliminato); } fscanf(f,"%d %s %s %s %s",&rub.Index,rub.Nome.Nome,rub.Nome.Cognome,rub.Nome.Indirizzo,rub.Nome.Telefono); fprintf(f,"%d",1); } }
Avreste qualche consiglio?

Rispondi quotando
