miket hace 11 meses
padre
commit
b662c0c800
Se han modificado 5 ficheros con 117 adiciones y 0 borrados
  1. 36 0
      geometry/figures.cpp
  2. BIN
      geometry/geometry.cpp
  3. 20 0
      geometry/geometry.h
  4. 33 0
      geometry/point.cpp
  5. 28 0
      geometry/point.h

+ 36 - 0
geometry/figures.cpp

@@ -0,0 +1,36 @@
+// figures.cpp : Этот файл содержит функцию "main". Здесь начинается и заканчивается выполнение программы.
+//
+#pragma once
+#include <iostream>/*
+#include "Triangle.h"*/
+#include "Rectangle.h"
+using namespace std;
+
+int main()
+{
+
+
+    ////треугольник
+    //Triangle T;
+    //T = Triangle(Point(0,0),Point(0,5),Point(5,0));
+    //T.name();
+    //cout << T.calc_perimeter() << '\t' << T.calc_area() << endl;
+
+
+    //прямоугольник
+    Rectangle R;
+    R = Rectangle(0, 0, 0, 5, 5, 5, 5, 0);
+    R.name();
+    cout << R.calc_perimeter() << '\t' << R.calc_area() << endl;
+}
+
+// Запуск программы: CTRL+F5 или меню "Отладка" > "Запуск без отладки"
+// Отладка программы: F5 или меню "Отладка" > "Запустить отладку"
+
+// Советы по началу работы 
+//   1. В окне обозревателя решений можно добавлять файлы и управлять ими.
+//   2. В окне Team Explorer можно подключиться к системе управления версиями.
+//   3. В окне "Выходные данные" можно просматривать выходные данные сборки и другие сообщения.
+//   4. В окне "Список ошибок" можно просматривать ошибки.
+//   5. Последовательно выберите пункты меню "Проект" > "Добавить новый элемент", чтобы создать файлы кода, или "Проект" > "Добавить существующий элемент", чтобы добавить в проект существующие файлы кода.
+//   6. Чтобы снова открыть этот проект позже, выберите пункты меню "Файл" > "Открыть" > "Проект" и выберите SLN-файл.

BIN
geometry/geometry.cpp


+ 20 - 0
geometry/geometry.h

@@ -0,0 +1,20 @@
+
+#include <vector>
+#include "point.h"
+
+class Geometry_figure
+{
+protected:
+	vector <Point> dots;
+	bool is_incorrect;
+public:
+
+	
+	
+	virtual double calc_area()=0;
+	virtual double calc_perimeter() = 0;
+	virtual void name() = 0;
+
+
+};
+

+ 33 - 0
geometry/point.cpp

@@ -0,0 +1,33 @@
+#include <cmath>;
+#include <iostream>;
+#include "point.h"
+
+
+using namespace std;
+
+
+
+Point::Point()
+{
+}
+
+//Point
+const double 
+Point::calc_distance(const Point& p) {
+	double dx = x - p.x;
+	double dy = y - p.y;
+	return sqrt(dx * dx + dy * dy);
+
+}
+
+
+
+istream& operator>>(istream& is, Point a)
+{
+	return is >> a.x >> a.y;
+}
+
+ostream& operator<<(ostream& os, Point a)
+{
+	return os << "(" << a.x << ", " << a.y << ")";
+}

+ 28 - 0
geometry/point.h

@@ -0,0 +1,28 @@
+#include<iostream>;
+#include <cmath>;
+
+
+using namespace std;
+
+class Point {
+	//äàííûå
+
+	public: 
+		double x, y;
+
+		template <class value_class> Point(value_class ax, value_class ay);
+		Point();
+
+		//ôóíêöèè
+
+		const double calc_distance(const Point& p);
+		friend istream& operator >>(istream& is,Point a);
+		friend ostream& operator <<(ostream& os,Point a);
+};
+
+template<class value_class>
+inline Point::Point(value_class ax, value_class ay)
+{
+	x = (double)(ax);
+	y = (double)(ay);
+}