Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2.3 / main

.cpp
Скачиваний:
0
Добавлен:
10.06.2025
Размер:
2.27 Кб
Скачать
#include <iostream>
#include <conio.h>
#include <math.h>


class Fig  
 {
 	public:
	 double x0,y0,X0,Y0; 
	
	Fig()  { x0=0; y0=0;	}
	Fig(double x, double y) {x0=x; y0=y;}
	
	double getP() {return 0;} 
	double getS() {return 0;} 
	void What()
	 {
	 	printf("\nFig: x0=%7.3lf; y0=%7.3lf;", x0, y0);
	 }
	
	
 };
 
class triangle: public Fig  
{
 public:
 double X1, Y1, X2, Y2;	
	
	triangle()  
	{ 
	 X0=0; Y0=0; 
	 X1=1; Y1=2;
	 X2=2; Y2=2; 
	 }
	
triangle(double XX0, double YY0, double XX1, double YY1, double XX2, double YY2) 
	 {Y0=XX0; Y0=YY0;
	  X1=XX1; Y1=YY1;
	  X2=XX2; Y2=YY2;
	 }
	
	double getP1()  
	{
	 double dX, dY,dy2;
	 dX=sqrt(((X1-X0)*(X1-X0))+((Y1-Y0)*(Y1-Y0)));
	 dY=sqrt(((X2-X1)*(X2-X1))+((Y2-Y1)*(Y2-Y1)));
	 dy2=sqrt(((X0-X2)*(X0-X2))+((Y0-Y2)*(Y0-Y2)));
	 return dX+dY+dy2;
	 }
	 
	double getS1()  
	{
	 double a, b,c,p;
	 a=sqrt(((X1-X0)*(X1-X0))+((Y1-Y0)*(Y1-Y0)));
	 b=sqrt(((X2-X1)*(X2-X1))+((Y2-Y1)*(Y2-Y1)));
	 c=sqrt(((X0-X2)*(X0-X2))+((Y0-Y2)*(Y0-Y2)));
	 p=(a+b+c)/2;
	 return sqrt(p*(p-a)*(p-b)*(p-c));
	 }
	
	void What()
	 {
	 	printf("\ntriangle: (%7.3lf; %7.3lf), (%7.3lf; %7.3lf), (%7.3lf; %7.3lf)", X0, Y0, X1, Y1,X2, Y2);
	 }
};

using namespace std;
int main(int argc, char** argv) {
	setlocale(0, "");
	
//.............................................
	triangle t(0,0, 1, 2, 2, 2);
	double P1;
	double S1;
	t.What();
	S1=t.getS1();
	printf("\nL=%7.3lf\nS=%7.3lf", P1,S1);
	int choice=0;
	while(1)
	{
	cout<<"\n\n1. Vvod triangle \n2.triangle What \n3. Get P-triangle \n4.Get S-triangle \n5. Exit";
	choice=getch();
	  switch(choice)
	  {
	  	case '1':
			printf("Vvedite levuy niznuy tochku");
			cout<<"\nx0=";   cin>>t.X0;
			cout<<"y0=";   cin>>t.Y0;
			printf("Vvedite verhnuy tochku");
			cout<<"x1=";   cin>>t.X1;
			cout<<"y1=";   cin>>t.Y1;
			printf("Vvedite pravuy niznuy tochku");
			cout<<"x2=";   cin>>t.X2;
			cout<<"y2=";   cin>>t.Y2;
	  		break;
	  	case '2':
			t.What();
			break;
		case '3':			
	  		cout<<"\nP="<<t.getP1();
	  		break;	  		
	  	case '4':
	  		cout<<"\nS="<<t.getS1();
	  		break;	  		
	  	default: 
	  	goto mEnd;	
	  	break;
	  } // end swtch
	}// end while
	mEnd:
	return 0;
}
Соседние файлы в папке 2.3
  • #
    10.06.20252.27 Кб0main.cpp
  • #
    10.06.202512.22 Кб0main.o
  • #
    10.06.20251.17 Кб0Makefile.win
  • #
    10.06.2025902 б0Проект1.dev
  • #
    10.06.202594 б0Проект1.layout