alin zamfiroiu

Upload: nicolae-stan

Post on 14-Oct-2015

83 views

Category:

Documents


1 download

TRANSCRIPT

  • 5/24/2018 Alin Zamfiroiu

    1/27

    SEMINAR 1Program realizat de Prvu Flavia - Alice#include#include

    using namespace std;

    class peste{public:

    char * specie;

    float greutate;int lungime;};

    class pisica{public:

    char * specie;float greutate;char * stare;int varsta;int pui[100];char * nume;

    char * culoare_b;char * culoare_o;};

    void main(){

    char s[100];cin.get(s,30);cout

  • 5/24/2018 Alin Zamfiroiu

    2/27

    }

    SEMINAR 2Program realizat de Prvu Flavia - Alice#include #include

    using namespace std;

    class avion{private:

    char * model;int nr_locuri;float greutate;char * culoare;float mediu(){

    if(greutate>100&&nr_locuri>10)return (greutate/nr_locuri);

    }

    public:void set_nr_locuri(int val){

    if(val>10)nr_locuri=val;}

    void set_greutate(float val){

    if(val>100)greutate=val;}

    void set_model(char * val)

    {model=new char[strlen(val)+1];strcpy(model,val);

    }

    void set_culoare(char * val){

    culoare=new char[strlen(val)+1];strcpy(culoare,val);

    }

  • 5/24/2018 Alin Zamfiroiu

    3/27

    int get_nr_locuri(){

    return nr_locuri;}

    float get_greutate(){

    return greutate;}

    char * get_model(){return model;

    }

    char * get_culoare(){

    return culoare;}

    float get_mediu(){

    return mediu();

    }

    };

    void main(){

    avion a;a.set_nr_locuri(30);a.set_culoare("Roz");a.set_model("avion de razboi");a.set_greutate(3000);cout

  • 5/24/2018 Alin Zamfiroiu

    4/27

    // return (greutate/nr_locuri);//}

    public:

    avion(){

    this->model=new char[strlen("model")+1];strcpy(this->model,"model");

    this->nr_locuri=100;this->greutate=40;

    this->culoare=new char[strlen("alb")+1];strcpy(this->culoare,"alb");}

    avion(char*model, int locuri, float greutate, char* culoare){

    this->model=new char[strlen(model)+1];strcpy(this->model,model);

    this->nr_locuri=locuri;this->greutate=greutate;this->culoare=new char[strlen(culoare)+1];

    strcpy(this->culoare,culoare);}

    avion(avion &temp){

    this->model=new char[strlen(temp.model)+1];strcpy(this->model,temp.model);this->nr_locuri=temp.nr_locuri;this->greutate=temp.greutate;this->culoare=new char[strlen(temp.culoare)+1];strcpy(this->culoare,temp.culoare);

    }

    avion &operator=(avion &temp){

    delete []model;delete [] culoare;this->model=new char[strlen(temp.model)+1];strcpy(this->model,temp.model);this->nr_locuri=temp.nr_locuri;this->greutate=temp.greutate;this->culoare=new char[strlen(temp.culoare)+1];strcpy(this->culoare,temp.culoare);return *this;

    }

    ~avion(){

    delete []model;delete [] culoare;cout

  • 5/24/2018 Alin Zamfiroiu

    5/27

    void set_greutate(float val){

    if(val>100)greutate=val;}

    void set_model(char * val){

    model=new char[strlen(val)+1];strcpy(model,val);

    }

    void set_culoare(char * val){culoare=new char[strlen(val)+1];strcpy(culoare,val);

    }

    int get_nr_locuri(){

    return nr_locuri;}

    float get_greutate(){

    return greutate;}

    char * get_model(){

    return model;}

    char * get_culoare(){

    return culoare;}

    //float get_mediu()//{// return mediu();//}

    };

    void main(){

    //{//avion cv;//}//cout

  • 5/24/2018 Alin Zamfiroiu

    6/27

    //cout

  • 5/24/2018 Alin Zamfiroiu

    7/27

    this->greutate=greutate;this->culoare=new char[strlen(culoare)+1];

    strcpy(this->culoare,culoare);nr_avioane++;

    }

    avion(avion &temp){

    this->model=new char[strlen(temp.model)+1];strcpy(this->model,temp.model);this->nr_locuri=temp.nr_locuri;

    this->greutate=temp.greutate;this->culoare=new char[strlen(temp.culoare)+1];strcpy(this->culoare,temp.culoare);nr_avioane++;

    }

    avion &operator=(avion &temp){

    delete []model;delete [] culoare;this->model=new char[strlen(temp.model)+1];strcpy(this->model,temp.model);this->nr_locuri=temp.nr_locuri;

    this->greutate=temp.greutate;this->culoare=new char[strlen(temp.culoare)+1];strcpy(this->culoare,temp.culoare);return *this;

    }

    ~avion(){

    delete []model;delete [] culoare;cout100)greutate=val;}

    void set_model(char * val){

    model=new char[strlen(val)+1];strcpy(model,val);

    }

    void set_culoare(char * val){

    culoare=new char[strlen(val)+1];strcpy(culoare,val);

    }

  • 5/24/2018 Alin Zamfiroiu

    8/27

    int get_nr_locuri(){

    return nr_locuri;}

    float get_greutate(){

    return greutate;}

    char * get_model()

    { return model;}

    char * get_culoare(){

    return culoare;}

    static int get_nr_avioane(){

    return nr_avioane;}

    operator int() //operatorul int{

    return nr_locuri;}

    operator float() //operatorul float{

    return greutate;}

    int & operator[](int index) //operatorul index{

    if (index==0)return nr_locuri;

    else{

    int aux=greutate;return aux;

    }

    }

    avion operator++() //preincrementare{

    this->nr_locuri++;

    return *this;}avion operator++(int d) //postincrementare{

    avion aux=*this; //memorez starea initialathis->nr_locuri++;return aux; //cea cu 100 de locuri

    }//float get_mediu()//{

  • 5/24/2018 Alin Zamfiroiu

    9/27

    // return mediu();//}

    };

    int avion::nr_avioane=0; //referire catre clasa si initializare cu 0

    void main(){

    //{//avion cv;

    //}//cout

  • 5/24/2018 Alin Zamfiroiu

    10/27

    avion x7;x7++;coutculoare=new char[strlen("alb")+1];strcpy(this->culoare,"alb");nr_avioane++;

    }

    avion(char*model, int locuri, float greutate, char* culoare){

    this->model=new char[strlen(model)+1];strcpy(this->model,model);

    this->nr_locuri=locuri;

  • 5/24/2018 Alin Zamfiroiu

    11/27

    this->greutate=greutate;this->culoare=new char[strlen(culoare)+1];

    strcpy(this->culoare,culoare);nr_avioane++;

    }

    avion(avion &temp){

    this->model=new char[strlen(temp.model)+1];strcpy(this->model,temp.model);this->nr_locuri=temp.nr_locuri;

    this->greutate=temp.greutate;this->culoare=new char[strlen(temp.culoare)+1];strcpy(this->culoare,temp.culoare);nr_avioane++;

    }

    avion &operator=(avion &temp){

    delete []model;delete [] culoare;this->model=new char[strlen(temp.model)+1];strcpy(this->model,temp.model);this->nr_locuri=temp.nr_locuri;

    this->greutate=temp.greutate;this->culoare=new char[strlen(temp.culoare)+1];strcpy(this->culoare,temp.culoare);return *this;

    }

    ~avion(){

    delete []model;delete [] culoare;cout100)greutate=val;}

    void set_model(char * val){

    model=new char[strlen(val)+1];strcpy(model,val);

    }

    void set_culoare(char * val){

    culoare=new char[strlen(val)+1];strcpy(culoare,val);

    }

  • 5/24/2018 Alin Zamfiroiu

    12/27

    int get_nr_locuri(){

    return nr_locuri;}

    float get_greutate(){

    return greutate;}

    char * get_model()

    { return model;}

    char * get_culoare(){

    return culoare;}

    static int get_nr_avioane(){

    return nr_avioane;}

    operator int() //operatorul int{

    return nr_locuri;}

    operator float() //operatorul float{

    return greutate;}

    int & operator[](int index) //operatorul index{

    if (index==0)return nr_locuri;

    else{

    int aux=greutate;return aux;

    }

    }

    avion operator++() //preincrementare{

    this->nr_locuri++;

    return *this;}avion operator++(int d) //postincrementare{

    avion aux=*this; //memorez starea initialathis->nr_locuri++;return aux; //cea cu 100 de locuri

    }avion operator +=(avion b){

  • 5/24/2018 Alin Zamfiroiu

    13/27

    this->nr_locuri+=b.nr_locuri;return *this;

    }/*avion operator + (avion c){

    avion z;//copiem din this in z;z.greutate=this->greutate+c.greutate;return z;

    }*/

    //float get_mediu()//{// return mediu();//}bool operator == (avion b){

    return this->greutate==b.greutate&&this->nr_locuri==b.nr_locuri;}

    float operator()(float greutate_incarcatura){

    float aux;aux=this->greutate+greutate_incarcatura;

    return aux;}float operator()(){

    return greutate;}

    };

    int avion::nr_avioane=0; //referire catre clasa si initializare cu 0ostream &operator

  • 5/24/2018 Alin Zamfiroiu

    14/27

    coutnr_locuri=locuri;this->greutate=greutate;this->culoare=new char[strlen(culoare)+1];

    strcpy(this->culoare,culoare);nr_avioane++;

    }

    avion(avion &temp):latime(temp.latime){

  • 5/24/2018 Alin Zamfiroiu

    15/27

    this->model=new char[strlen(temp.model)+1];strcpy(this->model,temp.model);this->nr_locuri=temp.nr_locuri;this->greutate=temp.greutate;this->culoare=new char[strlen(temp.culoare)+1];strcpy(this->culoare,temp.culoare);nr_avioane++;

    }

    avion &operator=(avion &temp){

    delete []model;delete [] culoare;this->model=new char[strlen(temp.model)+1];strcpy(this->model,temp.model);this->nr_locuri=temp.nr_locuri;this->greutate=temp.greutate;this->culoare=new char[strlen(temp.culoare)+1];strcpy(this->culoare,temp.culoare);return *this;

    }

    ~avion(){

    delete []model;delete [] culoare;cout100)greutate=val;}

    void set_model(char * val){

    model=new char[strlen(val)+1];strcpy(model,val);

    }

    void set_culoare(char * val){

    culoare=new char[strlen(val)+1];strcpy(culoare,val);

    }

    int get_nr_locuri(){

    return nr_locuri;}

    float get_greutate(){

    return greutate;

  • 5/24/2018 Alin Zamfiroiu

    16/27

    }

    char * get_model(){

    return model;}

    char * get_culoare(){

    return culoare;}

    static int get_nr_avioane(){

    return nr_avioane;}

    operator int() //operatorul int{

    return nr_locuri;}

    operator float() //operatorul float{

    return greutate;}

    int & operator[](int index) //operatorul index{

    if (index==0)return nr_locuri;

    else{

    int aux=greutate;return aux;

    }

    }

    avion operator++() //preincrementare{

    this->nr_locuri++;return *this;

    }avion operator++(int d) //postincrementare{

    avion aux=*this; //memorez starea initialathis->nr_locuri++;return aux; //cea cu 100 de locuri

    }

    avion operator +=(avion b){

    this->nr_locuri+=b.nr_locuri;return *this;

    }/*avion operator + (avion c){

    avion z;//copiem din this in z;z.greutate=this->greutate+c.greutate;

  • 5/24/2018 Alin Zamfiroiu

    17/27

    return z;}*///float get_mediu()//{// return mediu();//}bool operator == (avion b){

    return this->greutate==b.greutate&&this->nr_locuri==b.nr_locuri;}

    float operator()(float greutate_incarcatura){

    float aux;aux=this->greutate+greutate_incarcatura;return aux;

    }float operator()(){

    return greutate;}

    //getter constanta

    int const get_latime(){return latime;

    }

    };

    int avion::nr_avioane=0; //referire catre clasa si initializare cu 0ostream &operator

  • 5/24/2018 Alin Zamfiroiu

    18/27

    float viteza;float capacitate;

    public:avion_militar():avion(){

    rachete=13;viteza=13.44;capacitate=10.21;

    }avion_militar(char*model, int locuri, float greutate, char* culoare, int

    latime, int rachete, float viteza, float capacitate):avion(model,locuri,greutat

    e,culoare,latime){this->rachete=rachete;this->viteza=viteza;this->capacitate=capacitate;

    }avion_militar(avion_militar &a):avion(a) //constructor de copiere{

    rachete=a.rachete;viteza=a.viteza;capacitate=a.capacitate;

    }int get_rachete()

    { return rachete;}float get_viteza(){

    return viteza;}float get_capacitate(){

    return capacitate;}operator int() //operatorul int (cast la int){

    return rachete;}

    };void main(){

    avion abc;avion_militar x;

    // --- latime --- cout

  • 5/24/2018 Alin Zamfiroiu

    19/27

    // --- testare operator int ---int b=x;coutnr_locuri=100;this->greutate=40;this->culoare=new char[strlen("alb")+1];strcpy(this->culoare,"alb");nr_avioane++;}avion(

  • 5/24/2018 Alin Zamfiroiu

    20/27

    char*model, int locuri, float greutate, char* culoare, int latime_noua):latime(latime_noua){this->model=new char[strlen(model)+1];strcpy(this->model,model);this->nr_locuri=locuri;this->greutate=greutate;this->culoare=new char[strlen(culoare)+1];strcpy(this->culoare,culoare);nr_avioane++;

    }avion(avion &temp):latime(temp.latime){this->model=new char[strlen(temp.model)+1];strcpy(this->model,temp.model);this->nr_locuri=temp.nr_locuri;this->greutate=temp.greutate;this->culoare=new char[strlen(temp.culoare)+1];strcpy(this->culoare,temp.culoare);nr_avioane++;}avion &

    operator=(avion &temp){delete []model;delete [] culoare;this->model=new char[strlen(temp.model)+1];strcpy(this->model,temp.model);this->nr_locuri=temp.nr_locuri;this->greutate=temp.greutate;this->culoare=new char[strlen(temp.culoare)+1];strcpy(this->culoare,temp.culoare);return *this;}

    ~avion(){delete []model;delete [] culoare;cout100)greutate=val;}void set_model(char * val){model=new char[strlen(val)+1];strcpy(model,val);}void set_culoare(char * val){culoare=new char[strlen(val)+1];

  • 5/24/2018 Alin Zamfiroiu

    21/27

    strcpy(culoare,val);}int get_nr_locuri(){return nr_locuri;}float get_greutate(){return greutate;}char * get_model()

    {return model;}char * get_culoare(){return culoare;}static int get_nr_avioane(){return nr_avioane;}operator int() //operatorul int{

    return nr_locuri;}operator float() //operatorul float{return greutate;}int & operator[](int index) //operatorul index{if (index==0)return nr_locuri;else{int aux=greutate;

    return aux;}}avionoperator++() //preincrementare{this->nr_locuri++;return *this;}avionoperator++(int d) //postincrementare{avion aux=*

    this; //memorez starea initialathis->nr_locuri++;return aux; //cea cu 100 de locuri}avionoperator +=(avion b){this->nr_locuri+=b.nr_locuri;return *this;}

  • 5/24/2018 Alin Zamfiroiu

    22/27

    /*avion operator + (avion c){avion z;//copiem din this in z;z.greutate=this->greutate+c.greutate;return z;}*/float greutate_medie(){coutnr_locuri);}bool operator == (avion b){return this->greutate==b.greutate&&this->nr_locuri==b.nr_locuri;}float operator()(float greutate_incarcatura){float aux;aux=this->greutate+greutate_incarcatura;return aux;}

    float operator()(){return greutate;}//getter constantaint const get_latime(){return latime;}float greutate_pe_loc(){return (this->greutate/this->nr_locuri);}

    };int avion::nr_avioane=0; //referire catre clasa si initializare cu 0

    ostream &operator

  • 5/24/2018 Alin Zamfiroiu

    23/27

    strcpy(a.culoare,aux);return in;}classavion_militar: public avion //derivare{private:int rachete;float viteza;float capacitate;

    public:avion_militar():avion(){rachete=13;viteza=13.44;capacitate=10.21;}avion_militar(char*model, int locuri, float greutate, char* culoare, int latime, int rachete,float viteza, float capacitate):avion(model,locuri,greutate,culoare,latime){this->rachete=rachete;

    this->viteza=viteza;this->capacitate=capacitate;}avion_militar(avion_militar &a):avion(a)//constructor de copiere{rachete=a.rachete;viteza=a.viteza;capacitate=a.capacitate;}virtual float greutate_medie(){coutcapacitate)/this->get_nr_locuri();}int get_rachete(){return rachete;}float get_viteza(){return viteza;}float get_capacitate(){return capacitate;

    }operator int() //operatorul int (cast la int){return rachete;}avion_militar &operator = (avion_militar &temp){avion::operator = (temp);

  • 5/24/2018 Alin Zamfiroiu

    24/27

    this->rachete=temp.rachete;this->viteza=temp.viteza;this->capacitate=temp.capacitate;return *this;}};voidmain(){/*avion abc;

    avion_militar x;--- latime ---cout

  • 5/24/2018 Alin Zamfiroiu

    25/27

    ////creare (scriere in fisier binar)//a=0; b=1;//fstream file ("fisier.dat",ios::out|ios::binary);//file.write((char *) &a, sizeof(a));//file.write((char *) &b, sizeof(b));//file.flush();//file.close();//////citire//fstream file ("fisier.dat",ios::in|ios::binary);//file.read ((char *) &a, sizeof(a));

    //file.read ((char *) &b, sizeof(b));//cout

  • 5/24/2018 Alin Zamfiroiu

    26/27

    }float get_diagonala(){return diagonala;}char * get_producator(){return producator;}monitor(){

    this->producator=new char[strlen("Dell")+1];strcpy(this->producator,"Dell");this->diagonala=14.33;}monitor(char * producator, float diagonala){this->producator=new char[strlen(producator)+1];strcpy(this->producator,producator);this->diagonala=diagonala;}monitor(monitor &temp)

    {this->producator=new char[strlen(temp.producator)+1];strcpy(this->producator,temp.producator);this->diagonala=temp.diagonala;}monitor &operator=(monitor &temp){delete[]producator;this->producator=new char[strlen(temp.producator)+1];strcpy(this->producator,temp.producator);this->diagonala=temp.diagonala;return *this;}

    ~monitor(){delete[]producator;}friend ostream &operator

  • 5/24/2018 Alin Zamfiroiu

    27/27

    {nr_elemente=1;v=new tip[nr_elemente];}grupa(tip * v_1,int nr_elemente_1){nr_elemente=nr_elemente_1;v=new tip[nr_elemente];for(i=0;i=0 && index