Скачиваний:
19
Добавлен:
01.05.2014
Размер:
2.54 Кб
Скачать
//File opisaniya funkciy
//Csqr

#include<iostream.h>
#include<math.h>
#include<values.h>
#include<conio.h>

#include "Csqr.h"
#include "Cpoint.h"

//-invariant
int Csqr::inv()
	 {if ((a>=0)&&(a<=10000)&&(point.inv()==1))
	{return 1;
	}
	else{ return 0;
			}
			}

//-Konstruktori

	 Csqr::Csqr(Cpoint point0, double a0)
	 {if ((a0>=0)&&(a0<=10000))                      //Proverka
	 {//cout<<"Pred konstruktora sqr VIPOLNEN!"<<endl; //predusloviya konstruktora

	 point.setX(point0.getX());
	 point.setY(point0.getY());

	 //point.setX(x0);
	 //point.setY(y0);

	 a=a0;                                          //zadanie storoni
	}
	else {cout<<"Pred konstruktora sqr NE vipolnen!"<<endl;}
	}


	 Csqr::Csqr(double r0 ,double fi0, double a0):point(r0,fi0)
	 {if ((a0>=-10000)&&(a0<=10000))                      //Proverka
	{//cout<<"Pred konstruktora2 sqr VIPOLNEN!"<<endl; //predusloviya konstruktora

	 a=a0;                                          //zadanie storoni
	}
	else {cout<<"Pred konstruktora2 sqr NE vipolnen!"<<endl;}
	 }

//-Selectori
double Csqr::getR(){return point.getR();}         //-Vozvrat radiusa
double Csqr::getFi(){return point.getFi();}       //-vozvrat ugla
double Csqr::getA(){return a;}                    //-vozvrat dlini storoni
double Csqr::getX(){return point.getX();}
double Csqr::getY(){return point.getY();}

//-Modifikatori
void Csqr::setX(double x0){point.setX(x0);}
void Csqr::setY(double y0){point.setY(y0);}

//-Operaciya
void Csqr::Move(double dx, double dy)             //-sdvig tochki
	 { point.Move(dx,dy);                     //-storona ne menaetsa
	 }

double Csqr::area()                               //-Proverka predusloviya
		 {if ((a>=-10000)&&(a<=10000))            //-Popadanie a v interval
	{//cout<<endl<<"Pred area VIPOLNENO!"<<endl;
	 return a*a;
	}else{cout<<endl<<"Pred area NE vipolneno!"<<endl;
				return 0;}
		 }

//-Destruktor
       Csqr::~Csqr()
	 {//cout<<endl<<
       //	"Udalen kvadrat s parametrami:"<<endl
       //	<<"V dekartovih koordinatah:"<<endl
       //	<<"Abscissa l.n ugla: "<<point.getR()*cos(point.getFi())<<endl
       //	<<"Ordinata l.n ugla: "<<point.getR()*sin(point.getFi())<<endl
       //	<<"Dlina storoni: "<<a<<endl<<endl
       //	<<"V polarnih koordinatah:"<<endl
       //	<<"Radius l.n ugla: "<<point.getR()<<endl
       //	<<"Ugol smeseniya l.n ugla: "<<point.getFi()<<endl
       //	<<"Dlina storoni: "<<a<<endl
      // <<endl;

       //	getch();
	 }

Соседние файлы в папке Класс Список квадратов