Скачиваний:
23
Добавлен:
01.05.2014
Размер:
2.54 Кб
Скачать
class Csqr
{Cpoint point;
 double a;

 public:

 //--------Proverka invarianta-------
       //-Popadanie tochki v interval, i ogranichenie dlini
       //-atoroni kvadrata
   int inv()
     {if ((a>=-10000)&&(a<=10000)&&(point.inv()==1))
	{return 1;
	}
	else{ return 0;
	    }
      }



 //--------konstruktor---------------
  Csqr(Cpoint point0, double a0)
   {if ((a0>=-10000)&&(a0<=10000))                      //Proverka
	{cout<<"Pred konstruktora sqr VIPOLNEN!"<<endl; //predusloviya konstruktora
	 point=point0;                                  //zadanie tochki
	 a=a0;                                          //zadanie storoni
	}
	else {cout<<"Pred konstruktora sqr NE vipolnen!"<<endl;}

    }


 //-------Selectori------------------
    //-velichini v polarnih koordinatah

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



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




 //-------Opredelenie ploshadi-------
  double 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;}
     }


 //-------Vivod kvadrata-------------
   //-koordinati lev verh, i prav nijn uglov
   //-v dekartovoy sisteme

  void tochki(double x1,double y1,double x2,double y2)
      {x1=point.getR()*cos(point.getFi());
       y1=point.getR()*sin(point.getFi())+a;
       x2=point.getR()*cos(point.getFi())+a;
       y2=point.getR()*sin(point.getFi());
       }


 //-------Destruktor-----------------
    //-prekrasenie raboti, i vivod soobseniya
    //-koordinati vivodatsa v dekertovoy sisteme


  ~Csqr()
   {cout<<endl<<"Konec raboti,"<<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()*cos(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();
   }

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