Witam, w poniższym kodzie próbuję zapisać dane do pliku. A konkretnie usiłuję zapisać klasę ksiazka która jest dodawana najpierw do stosu biblioteka, a następnie miałaby być zapisywana do pliku. Niestety coś mi nie wychodzi i dane nie zapisują się do pliku. Nie wiem co robię źle, proszę o rady.
#include <iostream>
#include <string>
#include <stack>
#include <fstream>
using namespace std;
class ksiazka{
public:
string nazwa, autor, wydawnictwo;
int cena, rok_wyd;
};
void dodaj(ksiazka *x){
cout<<"Podaj tytuł książki:"; cin>>x->nazwa;
cout<<"Podaj autora:";cin>>x->autor;
cout<<"Podaj wydawnictwo:";cin>>x->wydawnictwo;
cout<<"Podaj rok wydania książki:";cin>>x->rok_wyd;
cout<<"Podaj cenę:";cin>>x->cena;
}
void pokaz(ksiazka x){
cout<<"\n "<<x.nazwa<<"\n "<<x.autor<<"\n "<<x.rok_wyd<<"\n "<<x.wydawnictwo<<"\n "<<x.cena;
}
stack<ksiazka>biblioteka;
void push(const ksiazka &x){};
void pop(ksiazka &x){};
void zapiszdopliku(ksiazka x){
fstream plik;
plik.open("dane.txt" ,std::ios::in | std::ios::out);
cout<<"\nzapisywanie do pliku...";
getline(plik, x.nazwa);
getline(plik, x.autor);
getline(plik, x.wydawnictwo);
plik<<x.cena;
plik<<x.rok_wyd;
plik.close();
}
int main()
{
fstream plik;
ksiazka x;
push(x);
dodaj(&x);
zapiszdopliku(x);
pokaz(x);
return 0;
}