I napravio sam neku navigaciju za odabir ID-a osobe koju hocemo da dodamo ili da citamo informacije i problem je kada dodam prvu osobu sve je uredu, al' kada dodam drugu osobu na drugi ID, on mi promijeni i podatke prve osobe sa tim i kada pozovem m[0] i m[1] dobijem iste informacije iako nisu kao takve upisane.
Bolje cete shvatiti o cemu se radi uz pomoc source-a.
PS. Znam da ima viska koda, jer ponavljam samo sam se zezao i testirao.
Code:
#include <iostream>
using namespace std;
class Covjek
{
public:
Covjek();
~Covjek();
int getAge(){return itsAge;}
void setAge(int age){itsAge = age;}
char *getName(){return name;}
char *getPrezime(){return sn;}
char *getCity(){return city;}
char *getSch(){return sch;}
void setName(char *sName ){ name = sName;}
void setInfo(int god, char *ime, char *prezime, char *grad, char *skola)
{itsAge = god, name = ime, sn = prezime, city = grad, sch = skola;}
void getInfo(Covjek c)
{cout << "\nIme: " << c.getName();
cout << "\nPrezime: " << c.getPrezime();
cout << "\nGodine: " << c.getAge();
cout << "\nGrad: " << c.getCity();
cout << "\nSkola: " << c.getSch() << "\n";
}
private:
int itsAge;
char *name;
char *sn, *city, *sch;
};
Covjek::Covjek()
{
};
Covjek::~Covjek()
{
};
int main()
{
int ID = 0;
int msg = 0;
char ime[20], prezime[20], grad[20], skola[20];
int godine;
Covjek man, man1;
Covjek m[10];
for(int i = 0; i <10; i++)
m[i].setInfo(0,"NA","NA","NA","NA");
while(msg != 99)
{
switch(msg)
{
case 1:
cout << "\nOdaberite ID osobe: ";
cin >> ID;
msg = 0;
break;
case 2:
m[ID].getInfo(m[ID]);
msg = 0;
break;
case 3:
cin.ignore(1);
cout << "\nUnesite ime: ";
cin.getline(ime, 20);
cout << "Unesite prezime: ";
cin.getline(prezime, 20);
cout << "Unesite godine: ";
cin >> godine;
cin.ignore(1);
cout << "Unesite grad: ";
cin.getline(grad, 20);
cout << "Unesite skolu: ";
cin.getline(skola, 20);
m[ID].setInfo(godine, ime, prezime, grad, skola);
msg = 0;
break;
default:
cout << "\nTrenutni ID: " << ID;
cout << "\nOdaberite oblast: ";
cin >> msg;
break;
}
}
cout << m[0].getName();
cout << m[1].getName();
cout << "\n" << m[2].getName();
cout << "\n\n\n";
};
#include <iostream>
using namespace std;
class Covjek
{
public:
Covjek();
~Covjek();
int getAge(){return itsAge;}
void setAge(int age){itsAge = age;}
char *getName(){return name;}
char *getPrezime(){return sn;}
char *getCity(){return city;}
char *getSch(){return sch;}
void setName(char *sName ){ name = sName;}
void setInfo(int god, char *ime, char *prezime, char *grad, char *skola)
{itsAge = god, name = ime, sn = prezime, city = grad, sch = skola;}
void getInfo(Covjek c)
{cout << "\nIme: " << c.getName();
cout << "\nPrezime: " << c.getPrezime();
cout << "\nGodine: " << c.getAge();
cout << "\nGrad: " << c.getCity();
cout << "\nSkola: " << c.getSch() << "\n";
}
private:
int itsAge;
char *name;
char *sn, *city, *sch;
};
Covjek::Covjek()
{
};
Covjek::~Covjek()
{
};
int main()
{
int ID = 0;
int msg = 0;
char ime[20], prezime[20], grad[20], skola[20];
int godine;
Covjek man, man1;
Covjek m[10];
for(int i = 0; i <10; i++)
m[i].setInfo(0,"NA","NA","NA","NA");
while(msg != 99)
{
switch(msg)
{
case 1:
cout << "\nOdaberite ID osobe: ";
cin >> ID;
msg = 0;
break;
case 2:
m[ID].getInfo(m[ID]);
msg = 0;
break;
case 3:
cin.ignore(1);
cout << "\nUnesite ime: ";
cin.getline(ime, 20);
cout << "Unesite prezime: ";
cin.getline(prezime, 20);
cout << "Unesite godine: ";
cin >> godine;
cin.ignore(1);
cout << "Unesite grad: ";
cin.getline(grad, 20);
cout << "Unesite skolu: ";
cin.getline(skola, 20);
m[ID].setInfo(godine, ime, prezime, grad, skola);
msg = 0;
break;
default:
cout << "\nTrenutni ID: " << ID;
cout << "\nOdaberite oblast: ";
cin >> msg;
break;
}
}
cout << m[0].getName();
cout << m[1].getName();
cout << "\n" << m[2].getName();
cout << "\n\n\n";
};