Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Классы Круг и Эллипс / ELLIPS
.CPP#include<iostream.h>
#include<math.h>
#include<values.h>
#include<conio.h>
#include "Ellips.h"
//Konstruktor
Ellips::Ellips(int _X,int _Y,int _Lmax,int _Lmin,double _Angle)
{Lmax=abs(_Lmax);
Lmin=abs(_Lmin);
X=_X;
Y=_Y;
Angle=_Angle;
}
//Selectori
int Ellips::getX() const
{return X;}
int Ellips::getY() const
{return Y;}
int Ellips::getLmax() const
{return Lmax;}
int Ellips::getLmin() const
{return Lmin;}
double Ellips::getAngle() const
{return Angle;}
double Ellips::getArea() const
{return 3.14*Lmax*Lmin;}
//Modifikatori
void Ellips::setLmax(int _Lmax)
{Lmax=_Lmax;
}
void Ellips::setLmin(int _Lmin)
{Lmin=_Lmin;
}
void Ellips::setAngle(double _Angle)
{Angle=_Angle;}
void Ellips::Revol(double dFi) //Povorot ot osi
{Angle=Angle+dFi;}
void Ellips::Masht(double dN) //Mashtabirovanie
{Lmax=Lmax*abs(dN);
Lmin=Lmin*abs(dN);
}
//Risovanie
void Ellips::Print() const
{cout<<endl<<"--Orbita Ellips------"<<endl;
cout<<"Nachalnie parametri: "<<endl;
cout<<"X: "<<X<<endl;
cout<<"Y: "<<Y<<endl;
cout<<"Lmax: "<<Lmax<<endl;
cout<<"Lmin: "<<Lmin<<endl;
cout<<"Angle: "<<Angle<<endl;
cout<<"Area: "<<3.14*Lmax*Lmin<<endl;
cout<<endl;
}
void Ellips::Print1() const
{//clrscr();
gotoxy(X+41,25-Y);cout<<"*";
gotoxy(X+41+Lmax*cos(Angle),25-Y-Lmax*sin(Angle));
cout<<"*";
gotoxy(X+41-Lmax*cos(Angle),25-Y+Lmax*sin(Angle));
cout<<"*";
gotoxy(X+41-Lmin*sin(Angle),25-Y-Lmin*cos(Angle));
cout<<"*";
gotoxy(X+41+Lmin*sin(Angle),25-Y+Lmin*cos(Angle));
cout<<"*";
}