Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<cstring>
- using namespace std;
- class NBAPlayer
- {
- protected:
- char *ime;
- char tim[40];
- double brPoeni;
- double asistencii;
- double skokovi;
- void copy(const NBAPlayer &n)
- {
- this->ime=new char[strlen(n.ime)+1];
- strcpy(this->ime,n.ime);
- strcpy(this->tim,n.tim);
- this->brPoeni=n.brPoeni;
- this->asistencii=n.asistencii;
- this->skokovi=n.skokovi;
- }
- public:
- NBAPlayer(char *ime="",char*tim="",double brPoeni=0.0, double asistencii=0.0 , double skokovi =0.0)
- {
- this->ime=new char[strlen(ime)+1];
- strcpy(this->ime,ime);
- strcpy(this->tim,tim);
- this->brPoeni=brPoeni;
- this->asistencii=asistencii;
- this->skokovi=skokovi;
- }
- NBAPlayer(const NBAPlayer &n)
- {
- copy(n);
- }
- NBAPlayer &operator=(const NBAPlayer &n)
- {
- if(this!=&n)
- {
- delete [] ime;
- copy(n);
- }
- return *this;
- }
- double rating()
- {
- return brPoeni*0.45 + asistencii * 0.3 + skokovi *0.25;
- }
- void print()
- {
- cout<<ime<<" - "<<tim<<endl;
- cout<<"Points: "<<brPoeni<<endl;
- cout<<"Assists: "<<asistencii<<endl;
- cout<<"Rebounds: "<<skokovi<<endl;
- cout<<"Rating: "<<rating()<<endl;
- }
- ~NBAPlayer(){delete [] ime;}
- };
- class AllStarPlayer :public NBAPlayer
- {
- protected:
- double avPoeni;
- double avAsistencii;
- double avSkokovi;
- void copy(const AllStarPlayer &a)
- {
- this->ime=new char[strlen(a.ime)+1];
- strcpy(this->ime,a.ime);
- strcpy(this->tim,a.tim);
- this->brPoeni=a.brPoeni;
- this->asistencii=a.asistencii;
- this->skokovi=a.skokovi;
- // NBAPlayer::copy(a);
- this->avPoeni=a.avPoeni;
- this->avAsistencii=a.avAsistencii;
- this->avSkokovi=a.avSkokovi;
- }
- public:
- AllStarPlayer(char *ime="",char*tim="",double brPoeni=0.0, double asistencii=0.0 ,
- double skokovi =0.0,double avPoeni=0.0 , double avAsistencii=0.0 ,double avSkokovi=0.0)
- :NBAPlayer(ime,tim,brPoeni,asistencii,skokovi)
- {
- this->avPoeni=avPoeni;
- this->avAsistencii=avAsistencii;
- this->avSkokovi=avSkokovi;
- }
- AllStarPlayer(const AllStarPlayer &a)
- {
- copy(a);
- }
- AllStarPlayer(const NBAPlayer &n, double avPoeni ,double avAsistencii, double avSkokovi):NBAPlayer(n)
- {
- this->avPoeni = avPoeni;
- this->avAsistencii = avAsistencii;
- this->avSkokovi = avSkokovi;
- }
- AllStarPlayer &operator=(const AllStarPlayer &a)
- {
- if(this!=&a)
- {
- copy(a);
- }
- return *this;
- }
- ~AllStarPlayer(){}
- double allStarRating()
- {
- return avPoeni*0.3 +avAsistencii*0.4 +avSkokovi *0.3;
- }
- double rating()
- {
- return (NBAPlayer::rating()+allStarRating())/2;
- }
- void print()
- {
- NBAPlayer::print();
- cout<<"All Star Rating: "<<allStarRating()<<endl;
- cout<<"New Rating: "<<rating()<<endl;
- }
- };
- int main() {
- char name[50];
- char team[40];
- double points;
- double assists;
- double rebounds;
- double allStarPoints;
- double allStarAssists;
- double allStarRebounds;
- NBAPlayer * players = new NBAPlayer[5];
- AllStarPlayer * asPlayers = new AllStarPlayer[5];
- int n;
- cin >> n;
- if (n == 1) {
- cout << "NBA PLAYERS:" << endl;
- cout << "=====================================" << endl;
- for (int i = 0; i < 5; ++i) {
- cin >> name >> team >> points >> assists >> rebounds;
- players[i] = NBAPlayer(name,team,points,assists,rebounds);
- players[i].print();
- }
- }
- else if (n == 2) {
- for (int i=0; i < 5; ++i){
- cin >> name >> team >> points >> assists >> rebounds;
- cin >> allStarPoints >> allStarAssists >> allStarRebounds;
- players[i] = NBAPlayer(name,team,points,assists,rebounds);
- asPlayers[i] = AllStarPlayer(players[i],allStarPoints,allStarAssists,allStarRebounds);
- }
- cout << "NBA PLAYERS:" << endl;
- cout << "=====================================" << endl;
- for (int i=0; i < 5; ++i)
- players[i].print();
- cout << "ALL STAR PLAYERS:" << endl;
- cout << "=====================================" << endl;
- for (int i=0; i < 5; ++i)
- asPlayers[i].print();
- }
- else if (n == 3) {
- for (int i=0; i < 5; ++i){
- cin >> name >> team >> points >> assists >> rebounds;
- cin >> allStarPoints >> allStarAssists >> allStarRebounds;
- asPlayers[i] = AllStarPlayer(name, team, points, assists, rebounds,
- allStarPoints,allStarAssists,allStarRebounds);
- }
- cout << "ALL STAR PLAYERS:" << endl;
- cout << "=====================================" << endl;
- for (int i=0; i < 5; ++i)
- asPlayers[i].print();
- }
- delete [] players;
- delete [] asPlayers;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement