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 poeni;
- double asistencii;
- double skokovi;
- public:
- // default constructor
- NBAPlayer () {
- ime = new char [0];
- poeni = 0;
- asistencii = 0;
- skokovi = 0;
- }
- // constructor w/ arguments
- NBAPlayer ( char *name, char *team, double points, double assists, double jumps ) {
- ime = new char [strlen(name) + 1];
- strcpy(ime,name);
- strcpy(tim,team);
- poeni = points;
- asistencii = assists;
- skokovi = jumps;
- }
- // copy constructor
- NBAPlayer ( const NBAPlayer &p ) {
- ime = new char [strlen(p.ime)+1];
- strcpy (ime,p.ime);
- strcpy (tim,p.tim);
- poeni = p.poeni;
- asistencii = p.asistencii;
- skokovi = p.skokovi;
- }
- // destructor
- ~NBAPlayer () { delete [] ime; }
- // operator =
- NBAPlayer & operator=( const NBAPlayer &p ){
- if(this!=&p){
- delete [] ime;
- ime = new char [strlen(p.ime)+1];
- strcpy (ime,p.ime);
- strcpy (tim,p.tim);
- poeni = p.poeni;
- asistencii = p.asistencii;
- skokovi = p.skokovi;
- }
- return *this;
- }
- // metod rating
- double rating () {
- return ( poeni*0.45 + asistencii*0.3 + skokovi*0.25 );
- }
- // metod za pecatenje
- void print () {
- cout<<ime<<" - "<<tim<<endl;
- cout<<"Points: "<<poeni<<endl;
- cout<<"Assists: "<<asistencii<<endl;
- cout<<"Rebounds: "<<skokovi<<endl;
- cout<<"Rating: "<<rating()<<endl;
- }
- };
- class AllStarPlayer : public NBAPlayer {
- private:
- double ASpoeni;
- double ASasistencii;
- double ASskokovi;
- public:
- // default constructor
- AllStarPlayer () : NBAPlayer () {
- ASpoeni = 0;
- ASasistencii = 0;
- ASskokovi = 0;
- }
- // constructor w/ arguments
- AllStarPlayer ( char *name, char *team, double points, double assists, double jumps , double _points, double _assists, double _jumps )
- : NBAPlayer ( name, team, points, assists, jumps ) {
- ASpoeni = _points;
- ASasistencii = _assists;
- ASskokovi = _jumps;
- }
- // constructor sto prima objekt nbaplayer
- AllStarPlayer ( const NBAPlayer &p, double _points, double _assists, double _jumps )
- : NBAPlayer ( p ) {
- ASpoeni = _points;
- ASasistencii = _assists;
- ASskokovi = _jumps;
- }
- // copy constructor
- AllStarPlayer ( const AllStarPlayer &a ) {
- ime = new char [strlen(a.ime)+1];
- strcpy (ime,a.ime);
- strcpy (tim,a.tim);
- poeni = a.poeni;
- asistencii = a.asistencii;
- skokovi = a.skokovi;
- ASpoeni = a.ASpoeni;
- ASasistencii = a.ASasistencii;
- ASskokovi = a.ASskokovi;
- }
- // operator =
- AllStarPlayer & operator= ( const AllStarPlayer &a ) {
- if (this!=&a){
- delete [] ime;
- ime = new char [strlen(a.ime)+1];
- strcpy (ime,a.ime);
- strcpy (tim,a.tim);
- poeni = a.poeni;
- asistencii = a.asistencii;
- skokovi = a.skokovi;
- ASpoeni = a.ASpoeni;
- ASasistencii = a.ASasistencii;
- ASskokovi = a.ASskokovi;
- }
- return *this;
- }
- // destructor
- ~AllStarPlayer () {}
- // metod allstarrating
- double allStarRating () {
- return ( ASpoeni*0.3 + ASasistencii*0.4 + ASskokovi*0.3 );
- }
- // prepokrien metod rating
- double rating () {
- return ( ( NBAPlayer :: rating() + allStarRating() ) / 2 );
- }
- // prepokrien metod print
- 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,allStarAssists);
- }
- 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,allStarAssists);
- }
- 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