Witam,
Napisałem prosty kod, który ma za zadanie dodawać nowe koty (tak, zwierzęta :P). Pojawia się problem przy dodawaniu nowych obiektów. Żadne błędy mi nie wyskakują w code::blocksie, więc nie wiem za co się zabrać. Chodzi o to, że usuwa poprzednio dodane obiekty, a zostawia tylko ostatni.
#include <iostream>
#include <stdlib.h>
using namespace std;
class kot
{
int wiek;
int waga;
public:
void add(int,int);
void show(int);
};
void kot::add(int age,int weight)
{
wiek=age;
waga=weight;
}
void kot::show(int n)
{
cout<<"wiek "<<n<<" kota: "<<wiek<<endl;
cout<<"waga "<<n<<" kota: "<<waga<<endl<<endl;
}
int main()
{
kot* tab;
int i=0;
for (;;)
{
char k;
cout<<"1 - dodaj\n2 - wyswietl\n3 - zakoncz"<<endl<<endl;
cout<<"Wybor: ";
cin>>k;
if(k=='1')
{
system("cls");
int age, weight;
cout<<"Podaj wiek kota [lat]: ";
cin>>age;
cout<<"Podaj wage kota [kg]: ";
cin>>weight;
cout<<endl;
tab=new kot[i+3];
tab[i].add(age,weight);
i++;
}
else if(k=='2')
{
int z=0;
system("cls");
for(;z<i;z++)
tab[z].show(z);
}
else if(k=='3')
break;
}
delete[] tab;
return 0;
}
Dziękuje z góry
Pozdrawiam :)