Witam, robię zadanie programistyczne i natknąłem się na pewien problem. Otóż chodzi o wpisanie i odczytanie danych ze struktury car. Poniższy kod pokazuje mi tylko dane ostatniej wpisanej struktury (myślę że program nadpisuje poprzednią strukturę danymi wprowadzonymi w następnej kolejności).
Próbowałem inkrementować wskaźnik, żeby się jakoś do tych danych dostać, lecz albo kompilator wyrzucał błędy albo sam program wyświetlał abstrakcyjne liczby spoza pamięci. Jak mogę zmienić kod żeby na końcu programu cout pokazał mi dane z obu struktur?
#include <iostream>
#include <cstring>
using namespace std;
struct car
{
string marka;
int produkcja;
};
int main()
{
using namespace std;
cout<<"Ile samochodow chcesz skatalogowac?: ";
int ilosc;
cin>>ilosc;
car* ps = new car[ilosc];
for (int a=0; a<ilosc; ++a)
{
cout<<"Samochod#"<<a<<": \n";
cout<<"Podaj marke: ";
cin>>ps->marka;
cout<<"Rok produkcji: ";
cin>>ps->produkcja;
}
for (int i=0; i<ilosc; ++i)
{
cout<<ps->produkcja<<" "<<ps->marka<<endl;
}
delete [] ps;
return 0;
}