Mám zadanie:
Navrhnete štruktúru, ktorá by sa volala
auta a obsahovala by tieto údaje: značku ako reťazec vo znakovom poli a rok výroby ako celé číslo. Napíšte program, ktorý sa spýta užívatela, koľko áut má vložiť do katalógu. Program by mal potom použiť metódu
new na vytvorenie dynamického poľa odpovedajúcemu množstvu štruktúr typu
auto. ďalej by mal vyzvať užívateľa, aby zadal značku, ktorá sa môže skladať z viacerých slov a informáciu o roku pre každú štruktúru. Nakoniec by sa mal zobraziť obsah každé štruktúry. Vzor programu:
Koľko áut si prajete vložiť do katalógu? 2
Auto c.1:
Prosím, zadajte značku: Hudson Hornet
Prosím, zadajte rok výroby: 1952
Auto c.2:
Prosím, zadajte značku: Kaiser
Prosím, zadajte rok výroby: 1951
Tu je vaša zbierka:
1952 Hudson Hornet
1951 Kaiser
Tu som napísal nato program:
Kód:
#include <iostream>
struct inflatable
{
char meno[50];
int rok;
};
int main ()
{
using namespace std;
int i, pocet;
cout<<"Zadajte pocet aut: ";
cin>>pocet;
inflatable* auta;
auta = new inflatable[pocet];
for (i = 1; i <= pocet; i++)
{
cout<<"Auto cislo "<<i<<".\n";
cout<<"Zadajte znacku auto: ";
cin.get();
cin.get(auta[i].meno, 50);
cout<<"Zadajte rok vyroby: ";
cin>>auta[i].rok;
};
cout<<"Tu je vasa zbierka:\n";
for (i = 1; i <= pocet; i++)
cout<<auta[i].rok<<" "<<auta[i].meno<<endl;
system ("pause");
delete [] auta;
return 0;
}
všetko ide ako má, program príde ku system("pause" ), dám ľubovoľné tlačítko a potom, keď má prísť na to delete [] auta, tak mi hodí túto chybu:
Takže by som potreboval pomôcť stým delete. Keď ho dám preč tak mi to ide, ale viem, že keď vytváram dynamickú pamäť pomocou new, tak tam musí byť aj delete.