Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 3.NBA
- #include <iostream>
- #include<cstring>
- using namespace std;
- class NBAPlayer {
- protected:
- char* ImePlayer;
- char TimNaPlayer[50];
- double avgPoints;
- double avgAssists;
- double avgJumps;
- public:
- NBAPlayer() {
- this->ImePlayer = new char;
- strcpy(this->TimNaPlayer, "");
- this->avgAssists = 0;
- this->avgPoints = 0;
- this->avgJumps = 0;
- };
- ~NBAPlayer(){
- };
- NBAPlayer(const char* name, const char* team, double points, double assists, double jumps) {
- this->ImePlayer = new char[strlen(ImePlayer) + 1];
- strcpy(this->ImePlayer, name);
- strcpy(this->TimNaPlayer, team);
- this->avgPoints = points;
- this->avgAssists = assists;
- this->avgJumps = jumps;
- }
- NBAPlayer(const NBAPlayer& a) {
- this->avgAssists = a.avgAssists;
- this->avgJumps = a.avgJumps;
- this->avgPoints = a.avgPoints;
- this->ImePlayer = new char[strlen(a.ImePlayer) + 1];
- strcpy(this->ImePlayer, a.ImePlayer);
- strcpy(this->TimNaPlayer, a.TimNaPlayer);
- }
- NBAPlayer& operator=(const NBAPlayer& a) {
- this->ImePlayer = new char[strlen(a.ImePlayer) + 1];
- strcpy(this->ImePlayer, a.ImePlayer);
- strcpy(this->TimNaPlayer, a.TimNaPlayer);
- this->avgAssists = a.avgAssists;
- this->avgJumps = a.avgJumps;
- this->avgPoints = a.avgPoints;
- return *this;
- }
- double rating() {
- return (avgPoints * 0.45) + (avgAssists * 0.30) + (avgJumps * 0.25);
- }
- void print() {
- cout << this->ImePlayer << " - " << this->TimNaPlayer << endl;
- cout << "Points: " << this->avgPoints << endl;
- cout << "Assists: " << this->avgAssists << endl;
- cout << "Rebounds: " << this->avgJumps << endl;
- cout << "Rating: " << rating() << endl;
- }
- };
- class AllStarPlayer :public NBAPlayer {
- private:
- double avgPoints;
- double avgAssists;
- double avgJumps;
- public:
- AllStarPlayer() {
- this->avgAssists = 0.0;
- this->avgPoints = 0.0;
- this->avgJumps = 0.0;
- };
- ~AllStarPlayer(
- ) {};
- AllStarPlayer(NBAPlayer& a, double points, double assists, double jumps) :NBAPlayer(a)
- {
- this->avgPoints = points;
- this->avgAssists = assists;
- this->avgJumps = jumps;
- }
- AllStarPlayer(const char* Ime, const char* Tim, double points, double assists, double jumps, double AllStarPoints, double AllStarAssists, double AllStarJumps) :NBAPlayer(ImePlayer, TimNaPlayer, avgPoints, avgAssists, avgJumps) {
- this->avgPoints = AllStarPoints;
- this->avgAssists = AllStarAssists;
- this->avgJumps = AllStarJumps;
- }
- AllStarPlayer(const AllStarPlayer& a) {
- this->avgPoints = a.avgPoints;
- this->avgAssists = a.avgAssists;
- this->avgJumps = a.avgJumps;
- }
- double allStarRating() {
- return (0.3 * avgPoints) + (0.4 * avgAssists) + (0.3 * avgJumps);
- }
- double rating() {
- NBAPlayer::rating();
- allStarRating();
- }
- void print() {
- NBAPlayer::print();
- cout << "All Star Rating: " << allStarRating() << endl;
- cout << "New Rating: ";
- cout<< (NBAPlayer::rating() + allStarRating()) / 2 << endl;
- }
- };
- 4.Kvadrat i pravoagolnik
- #include <iostream>
- #include <cstring>
- #include <cmath>
- using namespace std;
- class Kvadrat {
- protected:
- //TODO da se deklariraat promenlivite
- double a;
- public:
- Kvadrat() {};
- //TODO default konstruktor
- Kvadrat(double a) {
- this->a = a;
- }
- //TODO konstruktor so argumenti
- Kvadrat(const Kvadrat& a) {
- this->a = a.a;
- }
- //TODO copy konstruktor
- double perimetar() {
- return 4*a;
- }
- //TODO double perimentar() {}
- double plostina() {
- return a * a;
- }
- //TODO double plostina() {}
- void pecati() {
- cout << "Kvadrat so dolzina a=" << this->a << " ima plostina P=" << plostina() << " i perimetar L=" << perimetar() << endl;
- }
- double geta() {
- return a;
- }
- //TODO void pecati();
- };
- class Pravoagolnik:public Kvadrat { //da se vmetni nasleduvanjeto
- //deklariranje na promenlivite
- double x, y;
- public:
- //TODO default konstruktor
- Pravoagolnik(const Kvadrat& a, double x = 0, double y = 0) :Kvadrat(a) {
- this->y = geta() + y;
- this->x = geta() + x;
- }
- //TODO konstruktor
- Pravoagolnik(double a = 0, double z = 0, double w = 0) {
- this->x = a + z;
- this->y = a + w;
- }
- //Pravoagolnik (const Kvadrat &k, double x, double y)
- //TODO copy konstruktor
- double perimetar() {
- if (x == y)
- Kvadrat::perimetar();
- else
- return 2*(x+y);
- }
- double plostina() {
- if (x == y)
- Kvadrat::plostina();
- else
- return x * y;
- }
- void pecati() {
- if (x == y) {
- a = x;
- Kvadrat::pecati();
- }
- else
- cout << "Pravoagolnik so strani: " << x << " i " << y << " ima plostina P=" << plostina()<< " i perimetar L=" << perimetar()<< endl;
- }
- //TODO prepokrivanje na metodite perimetar, plostina i pecati od klasata Kvadrat
- };
- 5.Moj termin
- #include <iostream>
- #include <cstring>
- using namespace std;
- class Lekar {
- protected:
- int FaksimilNaDoc;
- char Ime[10];
- char Prezime[11];
- double PocetnaPlata;
- public:
- Lekar() {};
- ~Lekar() {};
- Lekar(int FaksiMil, char* Ime, char* Prezime, double PocetnaPlata) {
- this->FaksimilNaDoc = FaksiMil;
- strcpy(this->Ime, Ime);
- strcpy(this->Prezime, Prezime);
- this->PocetnaPlata = PocetnaPlata;
- }
- void pecati() {
- cout << this->FaksimilNaDoc << ": " << this->Ime << " " << this->Prezime << endl;
- }
- double plata() {
- return PocetnaPlata;
- }
- };
- class MaticenLekar :public Lekar {
- private:
- int brPacienti;
- double* KotizaciaOdPacienti = new double;
- public:
- MaticenLekar() {
- this->brPacienti = 0;
- };
- ~MaticenLekar() {};
- MaticenLekar(Lekar& Lekari, int brPacienti, double *KotizacijaPacient):Lekar(Lekari) {
- this->KotizaciaOdPacienti = new double[sizeof(KotizaciaOdPacienti) + 1];
- this->brPacienti = brPacienti;
- for (int i = 0; i < brPacienti; i++) {
- this->KotizaciaOdPacienti[i] = KotizacijaPacient[i];
- }
- }
- void pecati() {
- Lekar::pecati();
- double naplateniKotizacii = 0;
- for (int i = 0; i < brPacienti; i++) {
- naplateniKotizacii += KotizaciaOdPacienti[i];
- }
- cout << "Prosek na kotizacii: " << naplateniKotizacii / brPacienti << endl;
- }
- double plata() {
- double naplateniKotizacii = 0;
- for (int i = 0; i < brPacienti; i++) {
- naplateniKotizacii += KotizaciaOdPacienti[i];
- }
- return Lekar::PocetnaPlata + naplateniKotizacii/brPacienti*0.3;
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement