Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Класс Точка / USECP
.CPP/*Programma testirovaniya
klessa "tochka"
Razrabotana studentom gr.3342
Mityaginim Sergeem
2.07.2005
*/
#include<iostream.h>
#include<math.h>
#include<values.h>
#include<conio.h>
#include<c:\BORLANDC\BIN\CLTPOINT\Cpoint.h>
//------------------------------------
void main(void)
{clrscr();
//---Vizov konstruktora--------------
cout<<"programma testirovaniya"<<endl
<<"Klassa 'Tochka'"<<endl<<"Author: Mityagin Sergey"<<endl<<endl;
cout<<"Sozdanie tochki:"<<endl;
double r1;
double fi1;
//-Vvod nachalnogo radiusa
cout<<"Vvod nachalnogo radiusa(r) [-10000..10000]: "<<endl;
cin>>r1;
cout<<"Vvedeno znachenie: "<<r1<<endl;
cout<<"Vvod nachalnogo ugla(fi): "<<endl; //-Vvod nachalnogo ugla
cin>>fi1;
cout<<"Vvedeno znachenie: "<<fi1<<endl;
Cpoint point(r1,fi1); //-vizov konstruktora
//-Proverka postusloviya konstruktora-sozdali tochku s zadannimi
//-koordinatami-
if (((point.getR()-r1)<=0.02)&&((point.getFi()-fi1)<=0.02))
{cout<<"Post konstruktora VIPOLNEN"<<endl<<endl;
}else{cout<<"Post konstruktora NE vipolnen"<<endl<<endl;}
//-Proverka invarianta----
if (point.inv()==1)
{cout<<endl<<"Invariant Vipolnen"<<endl;}
else{cout<<endl<<"Invariant NE Vipolnen"<<endl;}
//---1 Vizov selectora-------------
cout<<endl<<"Vvedena tochka s koordinatami:"<<endl;
double x1;
double y1;
x1=point.getR()*cos(point.getFi()); //-Raschet dekartovih
y1=point.getR()*sin(point.getFi()); //-koordinat
r1=point.getR(); //-Polarnie koordinati
fi1=point.getFi();
cout<<"Radius 1: "<<r1<<endl<<"Ugol 1: "<<fi1<<endl<<endl;
cout<<"Abscissa 1: "<<x1<<endl<<"Ordinata 1: "<<y1<<endl;
//---Vizov operacii------------------
cout<<endl<<"Vizov operacii sdviga na vector"<<endl;
double dx;
cout<<"Vvod DX [-10000..10000]"<<endl; //-vvod sdviga po x (dx)
cin>>dx;
cout<<"Vvedeno znachenie dx: "<<dx<<endl;
double dy; //-vvod sdviga po y (dy)
cout<<"Vvod dy [-10000..10000]"<<endl;
cin>>dy;
cout<<"Vvedeno znachenie dy: "<<dy<<endl<<endl;
//-vivod nachalnih koordinat
x1=point.getR()*cos(point.getFi()); //-v dekartovoy sisteme
y1=point.getR()*sin(point.getFi()); //-koordinat
cout<<"Nachalnie koordinati"<<endl;
cout<<"x1: "<<x1<<endl<<"y1: "<<y1<<endl<<endl;
point.Move(dx,dy); //-vizov funkcii sdviga
//-Proverka postusloviya move------
double x2;
double y2;
//-raschet konechnih koordinat
x2=point.getR()*cos(point.getFi()); //-v dekartovoy sisteme
y2=point.getR()*sin(point.getFi()); //-koordinat
cout<<"Konechnie koordinati"<<endl;
cout<<"x2: "<<x2<<endl<<"y2: "<<y2<<endl<<endl;
//-proverka sdviga na nujniy vector-
if ((abs(x1+dx-x2)<=0.03)&&(abs(y1+dy-y2)<=0.03))
{cout<<"Post move VIPOLNEN"<<endl;}
else{cout<<"Post mov NE vipolnen"<<endl;}
//-Proverka invarianta----
if (point.inv()==1)
{cout<<endl<<"Invariant Vipolnen"<<endl;}
else{cout<<endl<<"Invariant NE Vipolnen"<<endl;}
//---2 Vizov selectora-------------
cout<<endl<<"Konechnie koordinati tochki:"<<endl;
r1=point.getR();
fi1=point.getFi();
cout<<endl<<"Radius 2: "<<r1<<endl<<"Ugol 2: "<<fi1<<endl;
getch();
}