Hej.
Nie powiem, ze jestem poczatkujacym programista, ale wiele tez nie umiem :)
Pisze program na zaliczenie info (ale tez uzytkowy) ktory liczy na podstawie wskazan licznikow wysokosc rachunkow za media. I pojawil mi sie pewnien problem jak chce zapisac dane do pliku:
void cMenu::dodaj_dane(string file_name){
char *np;
int f_size, ic;
fstream data_f;
sDane dane_tmp;
np=new char[file_name.length()+1];
file_name.copy(np,file_name.length(),0);
data_f.open(np,fstream::binary|fstream::app);
f_size=data_f.tellg();
ic=sizeof(data_f)/sizeof(sDane);
//if (ic==0) data_f.seekp(ios::beg);
//else data_f.seekp(ios::end);
cout<<"Podaj miesiac (cyfra: 1-12): ";
cin>>dane_tmp.miesiac;
cout<<"Podaj rok: ";
cin>>dane_tmp.rok;
cout<<"Podaj odczyt energii elektrycznej[kW]: ";
cin>>dane_tmp.el;
cout<<"Podaj odczyt gazu[m^3]: ";
cin>>dane_tmp.gaz;
cout<<"Podaj odczyt ZW[m^3]: ";
cin>>dane_tmp.zw;
cout<<"Podaj odczyt CWU[m^3]: ";
cin>>dane_tmp.cwu;
ic=sizeof(sDane);
data_f.write(*dane_tmp, ic); //tu jest blad
data_f.close();
}
STRUKTURA:
struct sDane{
unsigned short int miesiac;
unsigned short int rok;
double cwu, zw, el, gaz;
};
i w zaznaczonej linii wyskakuje blad "No match for 'operator*' in '*dane_tmp'
Please help :)