Advertisement
Guest User

Untitled

a guest
Jan 21st, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.12 KB | None | 0 0
  1. #include <iostream>
  2. #include <conio.h>
  3. #include <math.h>
  4. using namespace std;
  5. class point
  6. {
  7.     float x, y;
  8. public:
  9.     point();
  10.     void vvod(float inputX, float inputY);
  11.     void vivod();
  12.     void r1();
  13.     void peremestX();
  14.     void peremestY();
  15.     void r2(point p);
  16.     void sravnit(point p);
  17.     void polyar();
  18.     float getX() { return x; };
  19.     float getY() { return y; };
  20. };
  21. point::point()
  22. {
  23.     x = y = 0;
  24. }
  25. void point::vvod(float inputX, float inputY)
  26. {
  27.     x = inputX;
  28.     y = inputY;
  29. }
  30. void point::vivod()
  31. {
  32.     cout << "(" << x << ";" << y << ");" << endl;
  33. }
  34. void point::r1()
  35. {
  36.     float r;
  37.     r = sqrt(x*x + y * y);
  38.     cout << "Расстояние до начала координат = " << r << endl;
  39. }
  40. void point::peremestX()
  41. {
  42.     float rx;
  43.     cout << "Введите расстояние на которое нужно переместить точку по оси X: ";
  44.     cin >> rx;
  45.     x += rx;
  46.     cout << "Текущее положение точки ";
  47.     vivod();
  48. }
  49. void point::peremestY()
  50. {
  51.     float ry;
  52.     cout << "Введите расстояние на которое нужно переместить точку по оси Y: ";
  53.     cin >> ry;
  54.     y += ry;
  55.     cout << "Текущее положение точки ";
  56.     vivod();
  57. }
  58. void point::r2(point p)
  59. {
  60.     float r;
  61.     r = sqrt((x - p.getX())*(x - p.getX()) + (y - p.getY())*(y - p.getY()));
  62.     cout << "Расстояние между точками = " << r << endl;
  63. }
  64. void point::sravnit(point p)
  65. {
  66.     if (x == p.getX() && y == p.getY())
  67.         cout << "Точки совпадают" << endl;
  68.     else
  69.         cout << "Точки не совпадают" << endl;
  70. }
  71. void point::polyar()
  72. {
  73.     float e, r;
  74.     r = sqrt(x*x + y * y);
  75.     e = acos(x / r)*180.0 / 3.14;
  76.     cout << "Полярная координата точки: ";
  77.     cout << "(" << r << ";" << e << ");" << endl;
  78. }
  79. void main()
  80. {
  81.     setlocale(LC_ALL, "Russian");
  82.     int i, n, s;
  83.     float inputX, inputY;
  84.     const int con = 5;
  85.     point p[con];
  86.     do
  87.     {
  88.         cout << "\t Выберите операцию:" << endl;
  89.         cout << "1: Задать точки" << endl;
  90.         cout << "2: Вывести точки с номером" << endl;
  91.         cout << "3: Вывести все точки" << endl;
  92.         cout << "4: Определить расстояние до начала координат" << endl;
  93.         cout << "5: Перемещение точки по оси X" << endl;
  94.         cout << "6: Перемещение точки по оси Y" << endl;
  95.         cout << "7: Определить расстояние между двумя точками" << endl;
  96.         cout << "8: Сравнение на совпадение координат точек" << endl;
  97.         cout << "9: Преобразование декартовых координат в полярные" << endl;
  98.         cout << "0: Выход из программы" << endl;
  99.         cin >> s;
  100.         switch (s)
  101.         {
  102.         case 1:
  103.             cout << "Введите номер точки:";
  104.             cin >> i;
  105.             cout << "Задайте координаты точки x y:";
  106.             cin >> inputX;
  107.             cin >> inputY;
  108.             p[i].vvod(inputX, inputY);
  109.             break;
  110.         case 2:
  111.             cout << "Введите номер точки:";
  112.             cin >> i;
  113.             p[i].vivod();
  114.             break;
  115.         case 3:
  116.             for (i = 0; i<con; i++)
  117.                 p[i].vivod();
  118.             break;
  119.         case 4:
  120.             cout << "Введите номер точки:";
  121.             cin >> i;
  122.             p[i].r1();
  123.             break;
  124.         case 5:
  125.             cout << "Введите номер точки:";
  126.             cin >> i;
  127.             p[i].peremestX();
  128.             break;
  129.         case 6:
  130.             cout << "Введите номер точки:";
  131.             cin >> i;
  132.             p[i].peremestY();
  133.             break;
  134.         case 7:
  135.             cout << "Введите номер первой точки:";
  136.             cin >> i;
  137.             cout << "Введите номер второй точки:";
  138.             cin >> n;
  139.             p[i].r2(p[n]);
  140.             break;
  141.         case 8:
  142.             cout << "Введите номер первой точки:";
  143.             cin >> i;
  144.             cout << "Введите номер второй точки:";
  145.             cin >> n;
  146.             p[i].sravnit(p[n]);
  147.             break;
  148.         case 9:
  149.             cout << "Введите номер точки:";
  150.             cin >> i;
  151.             p[i].polyar();
  152.             break;
  153.         default:
  154.             cout << "Введен неверный номер операции" << endl;
  155.         }
  156.     } while (s != 0);
  157. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement