Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчет Семестровая.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
204 Кб
Скачать
☆

Delete p; delete m;

P=NULL;

M=NULL;

}

///Mug and spoon and d_spoon

if(flag==3)

{

M=new Cup(10,5.5,'K',err);

Spoon *L=new Spoon(M,10.0,'Y',7.5,err);

D_Spoon *Q=new D_Spoon(12.4,M,3.2,'B',8.3,err);

printf(" __________________________________________\n");

printf("| |\n");

printf("| RECEIVING AREA SPOONS: %12f |\n",Q->Spoon_Plosh());

printf("| |\n");

printf("| VOLUME DESIGN: %12f |\n",Q->Vol_Design(Q));

printf("| |\n");

printf("| SPOON GET PRICE: %12f |\n",Q->Spoon_GetPrice());

printf("| |\n");

printf("| FINISH PRICE SPOONS: %12f |\n",Q->Finish_Price(Q));

printf("|__________________________________________|\n\n");

Delete q; delete l; delete m;

Q=NULL;

L=NULL;

M=NULL;

}

if(flag==4)

{

M=new Mug(10,5.5,'B',err);

Spoon *L=new Spoon(M,10.0,'Y',7.5,err);

D_Spoon *Q=new D_Spoon(7.4,M,2.8,'B',5.6,err);

printf(" _________________________________________\n");

printf("| |\n");

printf("| RECEIVING AREA SPOONS: %12f |\n",Q->Spoon_Plosh());

printf("| |\n");

printf("| VOLUME DESIGN: %12f |\n",Q->Vol_Design(Q));

printf("| |\n");

printf("| SPOON GET PRICE: %12f |\n",Q->Spoon_GetPrice());

printf("| |\n");

printf("| FINISH PRICE SPOONS: %12f |\n",Q->Finish_Price(Q));

printf("|_________________________________________|\n\n");

delete Q;

delete L;

delete M;

Q=NULL;

L=NULL;

M=NULL;

}

///KONSTRUCTOR NUMBER 3 FOR CUP AND MUG

if(flag==6)

{

Cup *X;

X=new Cup(27,1.1,'R',err);

Cup *Tab=new Cup(X,err);

X->Cup_Get(colvo2,rad,colCH);

printf(" _______________________________\n");

printf("| |\n");

printf("| COLVO=%12d |\n",colvo2);

printf("| VOL= %12f |\n",rad);

printf("| COLOR=%12c |\n",colCH);

printf("|_______________________________|\n\n");

Delete Tab;

Tab=NULL;

Delete X;

X=NULL;

Mug *E=new Mug(15,40.56,'B',err);

Mug *Z=new Mug(E,err);

E->Mug_Get(colvo,vol,colKR);

printf(" ________________________________\n");

printf("| |\n");

printf("| COLVO=%12d |\n",colvo);

printf("| VOL= %12f |\n",vol);

printf("| COLOR=%12c |\n",colKR);

printf("|________________________________|\n\n");

//delete Z;

//Z=NULL;

delete E;

E=NULL;

}

///EXIT

if(flag==0)

{

key=0;

}

}

printf("KOSTROMIN D.A GROUP NUMBER M-113\n");

return 0;

}

1.h

#include <stdio.h>

class Crockery//посуда

{

public:

Crockery();

virtual float Get_Price()=0;

virtual Crockery *Copy()=0;

virtual ~Crockery();

};

class Cup:public Crockery//чашка

{

private:

int* colvo;//количество

double *rad;//радиус

char *colCH;//цвет

public:

Cup(int,double,char,int&);///+

Cup(double,char,int&);

//Cup(){printf("EMPY CONSTRUCTOR CUP WORKED WELL\n");}

Cup(Cup*,int&);

~Cup(){printf("DESTRUCTOR CUP WORKED WELL\n"); delete colvo; delete rad; delete colCH;}

virtual float Get_Price();//цена за товар///+

Crockery *Copy();///+

void Cup_Set(int,double,char);///+

void Cup_Get(int&,double&,char&);///+

double Cup_Vol();//получение объема

char Cup_Color(){return (*colCH);}//получение цвета чашки

};

class Mug:public Crockery//кружка

{

public:

Mug(int,float,char,int&);///+

Mug(float,int&);

//Mug(){printf("EMPY KONSTRUCTOR MUG WORKED WELL\n");}

Mug(Mug*,int&);

~Mug(){printf("DESTRUCTOR MUG WORKED WELL\n"); delete colvo; delete vol; delete colKR;}

virtual float Get_Price();///+

Crockery *Copy();///+

void Mug_Get(int&,float&,char&);///+

void Mug_Set(int,float,char);///+

float Mug_FPrice();//получение первой цены

double M_and_C_VOL(Cup*);//получение обема чашки и кружки когда они вместе

private:

Cup *J;

int *colvo;

float *vol;

char *colKR;

};

class Spoon//ложка

{

public:

Spoon(Crockery* ,float,char,double,int&);

~Spoon(){printf("DESTRUCTOR Spoon WORKED WELL\n");delete f; delete Len; delete colLJ; delete OC;}

float Spoon_GetPrice(){return f->Get_Price()*((*Len)+(*OC));}//получение полной цены одной ложки

float Spoon_Plosh(){return (*Len)*(*OC);}//площадь ложки, для находения объема ложки с узором

private:

Crockery *f;

float *Len;//длина рукояди

char *colLJ;//цвет ложки

double *OC;// основная часть

};

class D_Spoon:public Spoon//узор ложки

{

public:

D_Spoon(float Vl,Crockery *fl,float Lenl,char colLJl,double OCl,int &err):Spoon(fl,Lenl,colLJl,OCl,err)

{

printf("D_SPOON::D_SPOON\n");

if(Vl>0 and Lenl>0 and OCl>0)

{

V=new float;

*V=Vl;

err=0;

}

else

{

delete this;

err=1;

}

}

~D_Spoon(){printf("DESTRUCTOR D_SPOON WORKED WELL\n");delete V;}

float Finish_Price(Spoon* T){return T->Spoon_GetPrice()+Vol_Design(T);}//цена ложки с узором

float Vol_Design(Spoon* T){return T->Spoon_Plosh()+(*V);}//объем ложки с узором

private:

Spoon* T;

float *V;//объем узора

};

3.4 Результаты

28