Salve ragazzi, spero di aver aperto correttamente il topic
Il problema si presenta durante la lettura dal file con consegente inserimento nel vettore di classi, non capisco dov'è l'errore T___T
Se volete tutto il progetto, l'ho già hostato e vi passo il link per capire meglio...
grazie a tutti voi in anticipo
SCRITTURA SU FILE
codice:void scrittura(){ cout<<"Inserimento prodotti"<<endl; FILE *fprod; int header,ins; string n,ID; float pu; fprod = fopen("prodotti.dat", "rb"); fseek(fprod,-sizeof(int),SEEK_END); fread(&header,sizeof(int),1,fprod); if(header<=0) { cout<<"Non ci sono prodotti nel file"<<endl; header=0; } else cout<<"Sono presenti "<< header<<"prodotti"<<endl; prodotti *prod; cout<<"Quanti prodotti inserire? :"<<endl; cin>>ins; int tot=header+ins; prod=new prodotti[tot]; rewind(fprod); fread(prod,sizeof(prodotti),header,fprod); fclose(fprod); for(int i=header;i<tot;i++){ cout << "Inserisci ID prodotto numero "<<i+1<<": "; cin >> ID; prod[i].setidprod(ID); cout << "\nInserisci nome prodotto numero "<<i+1<<": "; cin >> n; prod[i].setnome(n); cout << "\nInserisci prezzo unitario del prodotto numero "<<i+1<<": "; cin >> pu; prod[i].setpunit(pu); cout << endl; } fprod=fopen("prodotti.dat","wb"); fwrite(prod,sizeof(prodotti),tot,fprod); //SCRITTURA VETTORE DI CLASSI fwrite(&tot,sizeof(int),1,fprod); //SCRITTURA HEADER fclose(fprod); }
LETTURA DA FILE
codice:void gestioneclienti(){ FILE *fprod; int header; fprod=fopen("prodotti.dat","rb"); fseek(fprod,-sizeof(int),SEEK_END); fread(&header,sizeof(int),1,fprod); fclose(fprod); prodotti *prod; cout<<"L'header è :"<<header<<endl; prod=new prodotti[header]; fread(prod,sizeof(prodotti),header,fprod); fprod=fopen("prodotti.dat","rb"); fread(&prod,sizeof(prodotti),header,fprod); //lettura del file istantanea for(int i=0;i<header;i++){ //ERRORE A RUNTIME cout<<"L'ID del prodotto è: "<<prod[i].getidprod()<<endl <<"la denominazione del prodotto è: "<<prod[i].getidprod()<<endl <<"il prezzo unitario del prodotto è: "<<prod[i].getpunit()<<endl; } fclose(fprod); }


Rispondi quotando