Sto scrivendo un programma in C utilizzando i file. Il mio livello di conoscenze premetto che è basilare (tanto per intenderci sono uno studente al 4° anno perito informatico). Il programma che sto implementando è sulla gestione di un magazzino e non riesco a sovrascrivere in un campo del record di un file. Il pezzo di codice è questo
In parole povere se il prodotto non è stato pagato il campo della struttura vet (ovvero vet.pagato) prende l'intero 2 al contrario se è stato pagato prende 1. quando vadoa fare l'inserimento metto di default che il prodotto non è stato pagato (vet.pagato==2) però poi con un altra procedura vorrei modificarna il valore. Il mio spezzone di programma in alto non funziona. Consigli? grazie in anticipo =)codice:void segnala_pagato(newtype vet){ int id; visualizzazione_totale(vet); printf("Inserisci l'id del prodotto da segnalare come pagato:"); scanf("%d",&id); fp=fopen("file","r+"); while((fread(&vet,sizeof(vet),1,fp)) > 0){ if(id==vet.id){ if(vet.pagato == 2){ vet.pagato==1; fwrite(&vet,sizeof(vet),1,fp); break; } } } fclose(fp); getch(); }

Rispondi quotando
