Advertisement
Guest User

NBAGabriel

a guest
Apr 23rd, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.09 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstring>
  3. using namespace std;
  4.  
  5. class NBAPlayer{
  6. protected:
  7.     char *ime;
  8.     char tim[40];
  9.     double poeni;
  10.     double asistencii;
  11.     double skokovi;
  12. public:
  13.     NBAPlayer(){
  14.      ime=new char[0];
  15.      strcpy(ime,"");
  16.      strcpy(tim,"");
  17.      poeni=0;
  18.      asistencii=0;
  19.      skokovi=0;
  20.     }
  21.     NBAPlayer(char *ime1, char tim1[40],double poeni1,double asistencii1, double skokovi1){
  22.         ime=new char[strlen(ime1)+1];
  23.         strcpy(ime,ime1);
  24.         strcpy(tim,tim1);
  25.         poeni=poeni1;
  26.         asistencii=asistencii1;
  27.         skokovi=skokovi1;
  28.     }
  29.     NBAPlayer(const NBAPlayer &np){
  30.      ime=new char[strlen(np.ime)+1];
  31.         strcpy(ime,np.ime);
  32.         strcpy(tim,np.tim);
  33.         poeni=np.poeni;
  34.         asistencii=np.asistencii;
  35.         skokovi=np.skokovi;
  36.  
  37.     }
  38.  
  39.     NBAPlayer operator =(const NBAPlayer &np){
  40.        if(this!=&np){
  41.          ime=new char[strlen(np.ime)+1];
  42.         strcpy(ime,np.ime);
  43.         strcpy(tim,np.tim);
  44.         poeni=np.poeni;
  45.         asistencii=np.asistencii;
  46.         skokovi=np.skokovi;
  47.  
  48.        }
  49.        return *this;
  50.     }
  51.     ~NBAPlayer(){
  52.      delete[] ime;
  53.     }
  54.  NBAPlayer operator+=(const NBAPlayer &a){
  55.  
  56.  }
  57.  
  58.     double rating(){
  59.  
  60.     return poeni*0.45+asistencii*0.3+skokovi*0.25;
  61.     }
  62.     void print(){
  63.     cout<<ime<<" "<<poeni<<" "<<asistencii<<" "<<skokovi<<endl;
  64.     }
  65. };
  66.  
  67.  
  68. class AllStarPlayer:public NBAPlayer{
  69. private:
  70.    double prosPoeni;
  71.    double prosSkokovi;
  72.    double prosAsistencii;
  73.  
  74. public:
  75.     AllStarPlayer(){
  76.      prosPoeni=0;
  77.      prosAsistencii=0;
  78.      prosSkokovi=0;
  79.     }
  80.    AllStarPlayer(const NBAPlayer &np,double prosPoeni1,double prosAsistencii1 ,double prosSkokovi1 ):NBAPlayer(np){
  81.        prosPoeni=prosPoeni1;
  82.        prosAsistencii=prosAsistencii1;
  83.        prosSkokovi=prosSkokovi1;
  84.  
  85.    }
  86.      AllStarPlayer(char *ime1, char tim1[40],double poeni1,double asistencii1, double skokovi1
  87.                    ,double prosPoeni1,double prosAsistencii1 ,double prosSkokovi1 ):NBAPlayer(ime1,tim1,poeni1,asistencii1,skokovi1){
  88.        prosPoeni=prosPoeni1;
  89.        prosAsistencii=prosAsistencii1;
  90.        prosSkokovi=prosSkokovi1;
  91.  
  92.    }
  93.    AllStarPlayer (const AllStarPlayer &ap):NBAPlayer(ap){
  94.       prosPoeni=ap.prosPoeni;
  95.        prosAsistencii=ap.prosAsistencii;
  96.        prosSkokovi=ap.prosSkokovi;
  97.  
  98.    }
  99.  
  100.    AllStarPlayer operator =(const AllStarPlayer &ap ){
  101.      if(this!=&ap){
  102.          prosPoeni=ap.prosPoeni;
  103.        prosAsistencii=ap.prosAsistencii;
  104.        prosSkokovi=ap.prosSkokovi;
  105.        ime=new char[strlen(ap.ime)+1];
  106.         strcpy(ime,ap.ime);
  107.         strcpy(tim,ap.tim);
  108.         poeni=ap.poeni;
  109.         asistencii=ap.asistencii;
  110.         skokovi=ap.skokovi;
  111.      }
  112.      return *this;
  113.  
  114.    }
  115.    ~AllStarPlayer(){
  116.    }
  117.  double allStarRating(){
  118.  return poeni*0.3+asistencii*0.4+skokovi*0.3;
  119.  }
  120.  
  121.  double rating(){
  122.  return allStarRating()+ NBAPlayer::rating();//scope operator;
  123.  }
  124.  void print(){
  125.    NBAPlayer::print();
  126.    cout<<allStarRating()<<endl;
  127.    cout<<rating();
  128.  }
  129.  
  130.  int funkc(){
  131.  return NBAPlayer::rating();
  132.  }
  133.  
  134.  
  135.  
  136. };
  137.  
  138. int main() {
  139.  
  140.   char name[50];
  141.   char team[40];
  142.   double points;
  143.   double assists;
  144.   double rebounds;
  145.   double allStarPoints;
  146.   double allStarAssists;
  147.   double allStarRebounds;
  148.  /* AllStarPlayer a;
  149.   NBAPlayer b;
  150.   b+=a;
  151.   */
  152.   NBAPlayer b;
  153.   b.rating();
  154.   AllStarPlayer a;
  155.   a.rating();
  156.   NBAPlayer * players = new NBAPlayer[5];
  157.   AllStarPlayer * asPlayers = new AllStarPlayer[5];
  158.   int n;
  159.   cin >> n;
  160.  
  161.   if (n == 1) {
  162.  
  163.     cout << "NBA PLAYERS:" << endl;
  164.     cout << "=====================================" << endl;
  165.     for (int i = 0; i < 5; ++i) {
  166.       cin >> name >> team >> points >> assists >> rebounds;
  167.       players[i] = NBAPlayer(name,team,points,assists,rebounds);
  168.       players[i].print();
  169.     }
  170.   }
  171.   else if (n == 2) {
  172.  
  173.     for (int i=0; i < 5; ++i){
  174.       cin >> name >> team >> points >> assists >> rebounds;
  175.       cin >> allStarPoints >> allStarAssists >> allStarRebounds;
  176.       players[i] = NBAPlayer(name,team,points,assists,rebounds);
  177.       asPlayers[i] = AllStarPlayer(players[i],allStarPoints,allStarAssists,allStarRebounds);
  178.     }
  179.  
  180.     cout << "NBA PLAYERS:" << endl;
  181.     cout << "=====================================" << endl;
  182.     for (int i=0; i < 5; ++i)
  183.       players[i].print();
  184.  
  185.     cout << "ALL STAR PLAYERS:" << endl;
  186.     cout << "=====================================" << endl;
  187.     for (int i=0; i < 5; ++i)
  188.       asPlayers[i].print();
  189.  
  190.     }
  191.     else if (n == 3) {
  192.  
  193.       for (int i=0; i < 5; ++i){
  194.         cin >> name >> team >> points >> assists >> rebounds;
  195.         cin >> allStarPoints >> allStarAssists >> allStarRebounds;
  196.         asPlayers[i] = AllStarPlayer(name, team, points, assists, rebounds,
  197.                                      allStarPoints,allStarAssists,allStarAssists);
  198.       }
  199.       cout << "ALL STAR PLAYERS:" << endl;
  200.       cout << "=====================================" << endl;
  201.       for (int i=0; i < 5; ++i)
  202.         asPlayers[i].print();
  203.  
  204.     }
  205.  
  206.  
  207.     delete [] players;
  208.     delete [] asPlayers;
  209. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement