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
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();
}
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 =)