#include
#include
using namespace std;
class Igrac {
private:
char *ime;
int poeni;
int iskustvo;
int vozrast;
double procent;
int vkupno;
public:
Igrac() {}
Igrac(char *_ime, int _poeni, int _iskustvo, int _vozrast, double _procent, int _vkupno) {
ime = new char[strlen(_ime)];
strcpy(ime, _ime);
poeni = _poeni;
iskustvo = _iskustvo;
vozrast = _vozrast;
procent = _procent;
vkupno = _vkupno;
}
Igrac(const Igrac &tmp) {
ime = new char[strlen(tmp.ime)];
strcpy(ime, tmp.ime);
poeni = tmp.poeni;
iskustvo = tmp.iskustvo;
vozrast = tmp.vozrast;
procent = tmp.procent;
vkupno = tmp.vkupno;
}
~Igrac() {}
const char * get_ime() {return ime;}
int get_poeni() {return poeni;}
int get_iskustvo() {return iskustvo;}
int get_vozrast() {return vozrast;}
double get_procent() {return procent;}
int get_vkupno(){return vkupno;}
void set_ime(const char *_ime) {
ime = new char[strlen(_ime)];
strcpy(ime, _ime);
}
void set_poeni(int _poeni) {poeni = _poeni;}
void set_iskustvo(int _iskustvo) {iskustvo = _iskustvo;}
void set_vozrast(int _vozrast) { vozrast = _vozrast;}
void set_procent(double _procent) {procent = _procent;}
void set_vkupno(int _vkupno) { vkupno = _vkupno;}
virtual float IndeksPobeda() {
double p = procent;
if(vozrast < 18) {
p -= 50;
}
else {
p += 5;
}
p *= vkupno;
return p;
}
};
class Sid : public Igrac {
private:
int rang;
int uciteli;
char ime_sid[20];
int jacina;
public:
Sid() {}
Sid(char *_ime, int _poeni, int _iskustvo, int _vozrast, double _procent, int _vkupno, int _rang, int _uciteli, char * _ime_sid, int _jacina) : Igrac(_ime, _poeni, _iskustvo, _vozrast, _procent, _vkupno) {
rang = _rang;
uciteli = _uciteli;
strcpy(ime_sid, _ime_sid);
jacina = _jacina;
}
~Sid() {}
int get_rang() {return rang;}
int get_uciteli() {return uciteli;}
const char * get_ime_sid() {return ime_sid;}
int get_jacina() {return jacina;}
void set_rang(int _rang) {rang = _rang;}
void set_uciteli(int _uciteli) {uciteli = _uciteli;}
void set_ime_sid(const char *_ime_sid) {strcpy(ime_sid, _ime_sid);}
void set_jacina(int _jacina) {jacina = _jacina;}
virtual float IndeksPobeda() override {
float ind = Igrac::IndeksPobeda();
ind = (ind * 0.1) + ind;
ind += (double) uciteli;
ind += (0.5 / 100) * (double) jacina;
return ind;
}
};
class Dzedaj : public Igrac {
private:
int medihloridi;
char *ime_dzedaj;
int planeti;
int rang;
public:
Dzedaj() {}
Dzedaj(char *_ime, int _poeni, int _iskustvo, int _vozrast, double _procent, int _vkupno, int _medihloridi, char *_ime_dzedaj, int _planeti, int _rang) : Igrac(_ime, _poeni, _iskustvo, _vozrast, _procent, _vkupno) {
medihloridi = _medihloridi;
ime_dzedaj = new char[strlen(_ime_dzedaj)];
strcpy(ime_dzedaj, _ime_dzedaj);
planeti = _planeti;
rang = _rang;
}
~Dzedaj() {}
int get_medihloridi() {return medihloridi;}
const char * get_ime_dzedaj() {return ime_dzedaj;}
int get_planeti() {return planeti;}
int get_rang() {return rang;}
void set_medihloridi(int _medihloridi) {medihloridi = _medihloridi;}
void set_ime_dzedaj(const char *_ime_dzedaj) {
ime_dzedaj = new char[strlen(_ime_dzedaj)];
strcpy(ime_dzedaj, _ime_dzedaj);
}
void set_planeti(int _planeti) {planeti = _planeti;}
void set_rang(int _rang) {rang = _rang;}
virtual float IndeksPobeda() override {
float ind = Igrac::IndeksPobeda();
ind *= (double) rang;
ind *= (double) medihloridi;
return ind;
}
};
int main() {
return 0;
}