• 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++

Object Storage Arubacloud
0 głosów
186 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 217 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 156 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 228 wizyt
pytanie zadane 3 września 2015 w C i C++ przez Jaszczer Początkujący (250 p.)

92,555 zapytań

141,403 odpowiedzi

319,556 komentarzy

61,940 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!

...