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

Problem z tablicami przy robieniu obiektów C++

0 głosów
314 wizyt
pytanie zadane 27 września 2015 w C i C++ przez TenTakiTam Bywalec (2,460 p.)

Mam problem z tworzeniem obiektów za pomocą tablic. Codzi o to że pokazuje się o jeden obiekt za dużo i po wypełnieniu jedego pola w tym obiekcie wyskakuje mi błąd i program się wysypuje.

#include <iostream>

using namespace std;

class Samochod
{
    public:

    //atrybuty
    string marka;
    string model;
    int rocznik;
    int przebieg;

    //metody
    void wczytaj()
    {
        cout<<"podaj marke: ";
        cin>>marka;
        cout<<"podaj model: ";
        cin>>model;
        cout<<"podaj rocznik: ";
        cin>>rocznik;
        cout<<"podaj przebieg: ";
        cin>>przebieg;
    }

    void wypisz()
    {
        cout<<endl<<"marka: "<<marka<<endl;
        cout<<"model: "<<model<<endl;
        cout<<"rocznik: "<<rocznik<<endl;
        cout<<"przebieg: "<<przebieg<<endl<<endl;
    }

};

int main()
{
    int ile;

    cout<<"ile samochodow: ";
    cin>>ile;

    if (ile<=0)
        {
            cout<<endl<<"liczba samochodow nie może być mniejsza i rowna 0"
            <<endl;
        }

        else
        {
            for (int i=0; i<=ile; i++)
            {

                cout<<endl<<"SAMOCHOD nr "<<i+1<<endl<<endl;
                Samochod s[ile];

                s[i].wczytaj();

                cout<<endl<<"SAMOCHOD nr "<<i+1<<endl<<endl;

                s[i].wypisz();

            }
        }
    return 0;
}

 

1 odpowiedź

+1 głos
odpowiedź 27 września 2015 przez niezalogowany
wybrane 27 września 2015 przez TenTakiTam
 
Najlepsza

Błąd leży w warunku for'a, tam powinna być ostra nierówność:

for (int i=0; i<ile; i++)

komentarz 27 września 2015 przez niezalogowany
Przy okazji, kod jest źle napisany albo nie musisz tworzyć tablicy bo i tak tworzysz nową za każdym obiegiem pętli for
komentarz 27 września 2015 przez TenTakiTam Bywalec (2,460 p.)
dopiero się ucze, ale dzięki za poprawienie ( Samochod s[ile]; powinno być nad pętlą?)
komentarz 27 września 2015 przez niezalogowany

Tak, widzę że korzystasz z najprawdopodobniej MinGW, bo dopuszcza nielegalny zapis jakim jest tworzenie tablicy o rozmiarze zmiennej, która nie jest const.

Mówiąc szczerze o ile nie będziesz dalej korzystał w tym programie z tej tablicy to nie ma sensu jej tworzyć

Podobne pytania

0 głosów
4 odpowiedzi 538 wizyt
pytanie zadane 20 października 2015 w C i C++ przez Piotr Karaś Początkujący (460 p.)
0 głosów
3 odpowiedzi 473 wizyt
pytanie zadane 19 października 2015 w C i C++ przez Piotr Karaś Początkujący (460 p.)
0 głosów
2 odpowiedzi 648 wizyt
pytanie zadane 3 września 2015 w C i C++ przez Jaszczer Początkujący (250 p.)

93,742 zapytań

142,678 odpowiedzi

323,297 komentarzy

63,326 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...