Salve a tutti! mi stavo cimentando in un esercizio C ne quale devo leggere da file degli ingredienti con la loro quantità e tipo (litri,grammi,unità) e sommare il peso in grammi di tutti gli ingredienti,ma all'avvio del programma mi rileva un errore di stack non riesco a capire perchèVi ringrazio in anticipo.
questa è la main:
questo è il mio file.ccodice:int main (){ struct PesiSpecifici* pesi; int n_pesi=0; float numero; pesi=(struct PesiSpecifici*)malloc(n_pesi*sizeof(struct PesiSpecifici)); char* file="ex7-es9.txt"; numero=PesoTotale(file,pesi,n_pesi); printf("il peso totale per il dolce è:%f",numero); free(pesi); return 0; }
e questo il file.hcodice:float PesoTotale(char nomefile[],struct PesiSpecifici pesi[],int n_pesi){ FILE* file=fopen(nomefile,"r"); if(file==NULL){ printf("errore apertura file"); exit(1); } char c1; float peso,peso1,totale=0; while(!feof(file)){ n_pesi++; pesi=realloc(pesi,n_pesi*sizeof(struct PesiSpecifici)); fscanf(file,"%s",&pesi[n_pesi-1].ingrediente); fscanf(file,"%c",&c1); fscanf(file,"%f",&peso); if(c1=='l'){ peso1=peso*1000; } else if(c1=='u'){ peso1=peso*60; } else{ peso1=peso; } pesi[n_pesi-1].peso=peso; totale+=pesi[n_pesi-1].peso; } fclose(file); return totale; }
codice:Struct PesiSpecifici{ char ingrediente[32]; float peso; }; float PesoTotale(char nomefile[],struct PesiSpecifici pesi[],int n_pesi);

Vi ringrazio in anticipo.
Rispondi quotando