Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <conio.h>
- #include <math.h>
- using namespace std;
- class point
- {
- float x, y;
- public:
- point();
- void vvod(float inputX, float inputY);
- void vivod();
- void r1();
- void peremestX();
- void peremestY();
- void r2(point p);
- void sravnit(point p);
- void polyar();
- float getX() { return x; };
- float getY() { return y; };
- };
- point::point()
- {
- x = y = 0;
- }
- void point::vvod(float inputX, float inputY)
- {
- x = inputX;
- y = inputY;
- }
- void point::vivod()
- {
- cout << "(" << x << ";" << y << ");" << endl;
- }
- void point::r1()
- {
- float r;
- r = sqrt(x*x + y * y);
- cout << "Расстояние до начала координат = " << r << endl;
- }
- void point::peremestX()
- {
- float rx;
- cout << "Введите расстояние на которое нужно переместить точку по оси X: ";
- cin >> rx;
- x += rx;
- cout << "Текущее положение точки ";
- vivod();
- }
- void point::peremestY()
- {
- float ry;
- cout << "Введите расстояние на которое нужно переместить точку по оси Y: ";
- cin >> ry;
- y += ry;
- cout << "Текущее положение точки ";
- vivod();
- }
- void point::r2(point p)
- {
- float r;
- r = sqrt((x - p.getX())*(x - p.getX()) + (y - p.getY())*(y - p.getY()));
- cout << "Расстояние между точками = " << r << endl;
- }
- void point::sravnit(point p)
- {
- if (x == p.getX() && y == p.getY())
- cout << "Точки совпадают" << endl;
- else
- cout << "Точки не совпадают" << endl;
- }
- void point::polyar()
- {
- float e, r;
- r = sqrt(x*x + y * y);
- e = acos(x / r)*180.0 / 3.14;
- cout << "Полярная координата точки: ";
- cout << "(" << r << ";" << e << ");" << endl;
- }
- void main()
- {
- setlocale(LC_ALL, "Russian");
- int i, n, s;
- float inputX, inputY;
- const int con = 5;
- point p[con];
- do
- {
- cout << "\t Выберите операцию:" << endl;
- cout << "1: Задать точки" << endl;
- cout << "2: Вывести точки с номером" << endl;
- cout << "3: Вывести все точки" << endl;
- cout << "4: Определить расстояние до начала координат" << endl;
- cout << "5: Перемещение точки по оси X" << endl;
- cout << "6: Перемещение точки по оси Y" << endl;
- cout << "7: Определить расстояние между двумя точками" << endl;
- cout << "8: Сравнение на совпадение координат точек" << endl;
- cout << "9: Преобразование декартовых координат в полярные" << endl;
- cout << "0: Выход из программы" << endl;
- cin >> s;
- switch (s)
- {
- case 1:
- cout << "Введите номер точки:";
- cin >> i;
- cout << "Задайте координаты точки x y:";
- cin >> inputX;
- cin >> inputY;
- p[i].vvod(inputX, inputY);
- break;
- case 2:
- cout << "Введите номер точки:";
- cin >> i;
- p[i].vivod();
- break;
- case 3:
- for (i = 0; i<con; i++)
- p[i].vivod();
- break;
- case 4:
- cout << "Введите номер точки:";
- cin >> i;
- p[i].r1();
- break;
- case 5:
- cout << "Введите номер точки:";
- cin >> i;
- p[i].peremestX();
- break;
- case 6:
- cout << "Введите номер точки:";
- cin >> i;
- p[i].peremestY();
- break;
- case 7:
- cout << "Введите номер первой точки:";
- cin >> i;
- cout << "Введите номер второй точки:";
- cin >> n;
- p[i].r2(p[n]);
- break;
- case 8:
- cout << "Введите номер первой точки:";
- cin >> i;
- cout << "Введите номер второй точки:";
- cin >> n;
- p[i].sravnit(p[n]);
- break;
- case 9:
- cout << "Введите номер точки:";
- cin >> i;
- p[i].polyar();
- break;
- default:
- cout << "Введен неверный номер операции" << endl;
- }
- } while (s != 0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement