Znalazłem pare rozwiązań mojego problemu ale żaden nie zadziałał w moim przypadku. probowałem cin.ignore,getline i nic nie działa.
Kiedy w którymś ze stringow wrzuce spacje przenosi mi zmienne do następnej zmiennej i program się rozpada.
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
struct ksiazka
{
string tytul;
string imie;
string nazwisko;
string wydawnictwo;
string gatunek;
int rok_wydania;
ksiazka * next;
};
ksiazka * poczatek = NULL;
const char * nazwa;
void dodaj()
{
ksiazka * nowa = new ksiazka;
cout << "Wpisz tytul ksiazki ";
cin >> nowa->tytul;
cout << "Wpisz imie autora ";
cin >> nowa->imie;
cout << "Wpisz nazwisko autora";
cin >> nowa->nazwisko;
cout << "Podaj nazwe wydawnictwa";
cin >> nowa->wydawnictwo;
cout << "Podaj gatunek ksiazki";
cin >> nowa->gatunek;
cout << "podaj rok wydania ";
cin >> nowa->rok_wydania;
nowa->next = NULL;
if(poczatek == NULL)
{
poczatek = nowa;
}else
{
ksiazka * szukaj = poczatek;
while(szukaj->next != NULL)
{
szukaj = szukaj->next;
}
szukaj->next = nowa;
}
}