• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dynamiczna struktura C++, błąd z odczytem drugiej struktury

Object Storage Arubacloud
0 głosów
130 wizyt
pytanie zadane 7 grudnia 2017 w C i C++ przez ariette Nowicjusz (120 p.)

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;
}

 

1 odpowiedź

0 głosów
odpowiedź 8 grudnia 2017 przez criss Mędrzec (172,590 p.)
Wszystko wpisujesz do obiektu będącego pierwszym elementem tablicy. Gdzie twoim zdaniem inkrementujesz wskaźnik? Możesz po prostu pisać ps[i].produkcja itd. Operator [] używany na wskaźniku jest równoważny *(ptr + i).

Podobne pytania

0 głosów
1 odpowiedź 162 wizyt
pytanie zadane 19 kwietnia 2021 w C i C++ przez MrChick888 Obywatel (1,020 p.)
0 głosów
2 odpowiedzi 619 wizyt
0 głosów
2 odpowiedzi 835 wizyt

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...