Скачиваний:
22
Добавлен:
01.05.2014
Размер:
4.46 Кб
Скачать
/*Programma testirovaniya
  klessa "Kvadrat"
  Razrabotana studentom gr.3342
  Mityaginim Sergeem
  4.07.2005
*/

#include<iostream.h>
#include<math.h>
#include<values.h>
#include<conio.h>
#include<c:\BORLANDC\BIN\CSQR\Cpoint.h>
#include<c:\BORLANDC\BIN\CSQR\Csqr.h>

//------------------------------------
void main(void)
{clrscr();

 cout<<"Programma testirovaniya"<<endl
     <<"klassa 'Kvadrat'."<<endl
     <<"Author: Mityagin Sergey"<<endl
     <<"4.07.2005"<<endl<<
     "-----------------------------------"<<endl;


    //Vizov konstruktora
//------------------------------------
 double r1;
 double fi1;
 double a1;
 cout<<"Vizov konstruktora: "<<endl<<endl
     <<"Vvod nachalnogo radiusa [-10000..10000]:"<<endl;
 cin>>r1;
 cout<<"Vvedeno znachenie: "<<r1<<endl;

 cout<<"Vvod nachalnogo ugla:"<<endl;
 cin>>fi1;
 cout<<"Vvedeno znachenie: "<<fi1<<endl;

 cout<<"Vvod dlini storoni kvadrata:"<<endl;
 cin>>a1;
 cout<<"Vvedeno znachenie: "<<a1<<endl;
 cout<<"-----------------------------------"<<endl<<endl;

 Cpoint point(r1,fi1);
 Csqr sqr(point,a1);

    //Proverka postusloviya

   if (((sqr.getR()-r1)<=0.02)&&((sqr.getFi()-fi1)<=0.02)
	&&(sqr.getA()-a1<=0.02))
	{cout<<"Post konstruktora VIPOLNEN"<<endl;
	}else{cout<<"Post konstruktora NE vipolnen"<<endl;}

    //Proverka invarianta

   if (sqr.inv()==1)
    {cout<<endl<<"Invariant Vipolnen"<<endl;}
	else{cout<<endl<<"Invariant NE Vipolnen"<<endl;}

 cout<<"-----------------------------------"<<endl<<endl;

 getch();


    //Vizov selektora
//----------------------------------------------
 cout<<"Vveden kvadrat:"<<endl;
 cout<<"Polarnie koordinati: "<<endl
     <<"Radius:        "<<sqr.getR()<<endl
     <<"Ugol povirota: "<<sqr.getFi()<<endl
     <<"Dlina storoni: "<<sqr.getA()<<endl<<endl;

 cout<<"Dekartovi koordinati:"<<endl
     <<"Abscissa: "<<sqr.getR()*cos(sqr.getFi())<<endl
     <<"Ordinata: "<<sqr.getR()*sin(sqr.getFi())<<endl
     <<"Dlina storoni: "<<sqr.getA()<<endl<<endl;


/* double x1;
 double y1;
 double x2;
 double y2;
 sqr.tochki(x1,y1,x2,y2);
 cout<<"Koordinati verhnego levogo i "<<endl
     <<"pravogo nijnego uglov kvadrata:"<<endl
     <<"(x1,y1): "<<x1<<","<<y1<<endl
     <<"(x2,y2): "<<x2<<","<<y2<<endl;*/

 cout<<"-----------------------------------"<<endl<<endl;
 getch();
 clrscr();



    //Vizov operacii sdviga
//----------------------------------------------
 cout<<"-Operaciya sdviga-"<<endl;

 double dx;
 double dy;
 cout<<"Vvod smeseniya abscissi (dx):"<<endl;
 cin>>dx;
 cout<<"Vvedeno znachenie dx: "<<dx<<endl;

 cout<<"Vvod smeseniya ordinati (dy):"<<endl;
 cin>>dy;
 cout<<"Vvedeno znachenie dy: "<<dy<<endl<<endl;

 double x1;
 double y1;
 double x2;
 double y2;

 x1=sqr.getR()*cos(sqr.getFi());
 y1=sqr.getR()*sin(sqr.getFi());

 sqr.Move(dx,dy);

 x2=sqr.getR()*cos(sqr.getFi());
 y2=sqr.getR()*sin(sqr.getFi());

 cout<<"Nachalnie dannie"<<endl;
 cout<<"x1: "<<x1<<endl<<"y1: "<<y1<<endl
     <<"Storona: "<<sqr.getA()<<endl<<endl;

 cout<<"Konechnie dannie"<<endl;
 cout<<"x2: "<<x2<<endl<<"y2: "<<y2<<endl
     <<"Storona: "<<sqr.getA()<<endl<<endl;

 cout<<"Konechnie dannie"<<endl
     <<"Polarnie koordinati: "<<endl;
 cout<<"r: "<<sqr.getR()<<endl<<"fi: "<<sqr.getFi()<<endl
     <<"Storona: "<<sqr.getA()<<endl<<endl;


 cout<<"-----------------------------------"<<endl<<endl;

    //Proverka postusloviya

    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 (sqr.inv()==1)
     {cout<<endl<<"Invariant Vipolnen"<<endl;}
	else{cout<<endl<<"Invariant NE Vipolnen"<<endl;}

 cout<<"-----------------------------------"<<endl<<endl;
 getch();
 clrscr();

    //Nahojdenie plosadi
//----------------------------------------------
 cout<<"-Nahojdenie plosadi kvadrata:"<<endl;
 double s;
 s=sqr.area();
 cout<<"Area= "<<s<<endl<<endl;

    //Proverka postusloviya
      if (abs(s-sqr.getA()*sqr.getA())<=0.01)
	 {cout<<"Post area VIPOLNEN!"<<endl<<endl;}
	 else
	 {cout<<"Post area NE vipolnen!"<<endl<<endl;}

    //Proverka invarianta
    if (sqr.inv()==1)
     {cout<<endl<<"Invariant Vipolnen"<<endl;}
	else{cout<<endl<<"Invariant NE Vipolnen"<<endl;}

 cout<<"-----------------------------------"<<endl<<endl;
 getch();

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