Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.79
Priorzivil
0 / 0 / 0
Регистрация: 11.03.2013
Сообщений: 11
#1

Создать класс Point для работы с точками на плоскости - C++

11.03.2013, 18:07. Просмотров 1971. Ответов 0
Метки нет (Все метки)

Народ меня тут 11 задач мне нужно их подробно прокомментировать какая строчка что делает(пример первая задача) помогите плиз кому не сложно хотя бы по одной задачке буду очень благодарен

Задача 3 Классы

Создать класс Point для работы с точками на плоскости. Координаты точки – декартовы.
Обязательно должны быть реализованы:
• перемещение точки по оси Х;
• перемещение точки по оси У;
• определение расстояния до начала координат;
• расстояние между двумя точками;
• преобразование в полярные координаты;
• сравнение на совпадение и несовпадение;

Код программы

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
#include<iostream.h>
#include<conio.h>
#include<math.h>
 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<<"Rasstoyanie do nachala coordinat = "<<r<<endl;
  }
 void point::peremestX()
 {
  float rx;
  cout<<"Vvedite chislo,na kotoroe nuzhno peremestit' tochku po osi X: ";
  cin>>rx;
  x+=rx;
  cout<<"Tekushee polozhenie tochki ";
  vivod();
 }
  void point::peremestY()
  {
   float ry;
   cout<<"Vvedite chislo,na kotoroe nuzhno peremestit' tochku po osi Y: ";
   cin>>ry;
   y+=ry;
   cout<<"Tekushee polozhenie tochki ";
   vivod();
  }
  void point::r2(point p)
  { float r;
    r=sqrt((x-p.getX())*(x-p.getX())+(y-p.getY())*(y-p.getY()));
    cout<<"Rasstoyznie mezhdu tochkami = "<<r<<endl;
  }
  void point::sravnit(point p)
  {
   if (x==p.getX() && y==p.getY())
       cout<<"Tochki sovpadayut"<<endl;
   else
       cout<<"Tochki ne sovpadayut"<<endl;
  }
  void point::polyar()
  {
   float e,r;
   r=sqrt(x*x+y*y);
   e=acos(x/r)*180.0/3.14;
   cout<<"Polyarnaya koordinata tochki: ";
   cout<<"("<<r<<";"<<e<<");"<<endl;
  }
void main()
 {clrscr();
  int i,n,s;
  float inputX, inputY;
  const int con=5;
   point p[con];
  do
  {
   cout<<"\t Viberite operaciu:"<<endl;
   cout<<"1: Zadat' tochku"<<endl;
   cout<<"2: Vivesti tochku s nomerom"<<endl;
   cout<<"3: Vivesti vse tochki"<<endl;
   cout<<"4: Opredelit' rasstoyaie do nachala koordinat"<<endl;
   cout<<"5: Peremeshenie tochki po osi X"<<endl;
   cout<<"6: Peremeshenie tohki po osi Y"<<endl;
   cout<<"7: Opredelit' rassoyanie mezhdu 2 tochkami"<<endl;
   cout<<"8: Sravnenie na sovpadenie i nesovpadenie koordinat tochek"<<endl;
   cout<<"9: Preobrazovanie dekartovih koordinat v polyarnie"<<endl;
   cout<<"0: Vihod iz pogrammi"<<endl;
   cin>>s;
  switch(s)
   {
    case 1:
       cout<<"Vvedite nomer tochki:";
       cin>>i;
       cout<<"Zadayte koordinatu tochki x y:";
       cin>>inputX;
       cin>>inputY;
       p[i].vvod(inputX,inputY);
       break;
    case 2:
       cout<<"Vvedite nomer tochki:";
       cin>>i;
       p[i].vivod();
     break;
    case 3:
       for(i=0;i<con;i++)
         p[i].vivod();
       break;
    case 4:
       cout<<"Vvedite nomer tochki:";
       cin>>i;
       p[i].r1();
       break;
    case 5:
       cout<<"Vvedite nomer tochki:";
       cin>>i;
       p[i].peremestX();
       break;
    case 6:
      cout<<"Vvedite nomer tochki:";
      cin>>i;
      p[i].peremestY();
      break;
     case 7:
      cout<<"Vvedite nomer pervoy tochki:";
      cin>>i;
      cout<<"Vvedite nomer vtoroy tochki:";
      cin>>n;
      p[i].r2(p[n]);
      break;
     case 8:
      cout<<"Vvedite nomer pervoy tochki:";
      cin>>i;
      cout<<"Vvedite nomer vtoroy tochki:";
      cin>>n;
      p[i].sravnit(p[n]);
      break;
     case 9:
      cout<<"Vvedite nomer tochki:";
      cin>>i;
      p[i].polyar();
      break;
     default:
      cout<<"Vi vveli neverniy nomer operacii"<<endl;  
   }
  }
  while(s!=0);
 }
Пример
Код
Viberite operaciu:
1: Zadat' tochku
2: Vivesti tochku s nomerom
3: Vivesti vse tochki
4: Opredelit' rasstoyaie do nachala koordinat
5: Peremeshenie tochki po osi X
6: Peremeshenie tohki po osi Y
7: Opredelit' rassoyanie mezhdu 2 tochkami
8: Sravnenie na sovpadenie i nesovpadenie koordinat tochek
9: Preobrazovanie dekartovih koordinat v polyarnie
0: Vihod iz pogrammi
1
Vvedite nomer tochki:1
Zadayte koordinatu tochki x y:2 7
         Viberite operaciu:
1: Zadat' tochku
2: Vivesti tochku s nomerom
3: Vivesti vse tochki
4: Opredelit' rasstoyaie do nachala koordinat
5: Peremeshenie tochki po osi X
6: Peremeshenie tohki po osi Y
7: Opredelit' rassoyanie mezhdu 2 tochkami
8: Sravnenie na sovpadenie i nesovpadenie koordinat tochek
9: Preobrazovanie dekartovih koordinat v polyarnie
0: Vihod iz pogrammi
4
Vvedite nomer tochki:1
Rasstoyanie do nachala coordinat = 7.28011
         Viberite operaciu:
1: Zadat' tochku
2: Vivesti tochku s nomerom
3: Vivesti vse tochki
4: Opredelit' rasstoyaie do nachala koordinat
5: Peremeshenie tochki po osi X
6: Peremeshenie tohki po osi Y
7: Opredelit' rassoyanie mezhdu 2 tochkami
8: Sravnenie na sovpadenie i nesovpadenie koordinat tochek
9: Preobrazovanie dekartovih koordinat v polyarnie
0: Vihod iz pogrammi
5
Vvedite nomer tochki:1
Vvedite chislo,na kotoroe nuzhno peremestit' tochku po osi X: 4
Tekushee polozhenie tochki (6;7);
        Viberite operaciu:
1: Zadat' tochku
2: Vivesti tochku s nomerom
3: Vivesti vse tochki
4: Opredelit' rasstoyaie do nachala koordinat
5: Peremeshenie tochki po osi X
6: Peremeshenie tohki po osi Y
7: Opredelit' rassoyanie mezhdu 2 tochkami
8: Sravnenie na sovpadenie i nesovpadenie koordinat tochek
9: Preobrazovanie dekartovih koordinat v polyarnie
0: Vihod iz pogrammi
1
Vvedite nomer tochki:2
Zadayte koordinatu tochki x y:9 1
         Viberite operaciu:
1: Zadat' tochku
2: Vivesti tochku s nomerom
3: Vivesti vse tochki
4: Opredelit' rasstoyaie do nachala koordinat
5: Peremeshenie tochki po osi X
6: Peremeshenie tohki po osi Y
7: Opredelit' rassoyanie mezhdu 2 tochkami
8: Sravnenie na sovpadenie i nesovpadenie koordinat tochek
9: Preobrazovanie dekartovih koordinat v polyarnie
0: Vihod iz pogrammi
6
Vvedite nomer tochki:2
Vvedite chislo,na kotoroe nuzhno peremestit' tochku po osi Y: 3
Tekushee polozhenie tochki (9;4);
        Viberite operaciu:
1: Zadat' tochku
2: Vivesti tochku s nomerom
3: Vivesti vse tochki
4: Opredelit' rasstoyaie do nachala koordinat
5: Peremeshenie tochki po osi X
6: Peremeshenie tohki po osi Y
7: Opredelit' rassoyanie mezhdu 2 tochkami
8: Sravnenie na sovpadenie i nesovpadenie koordinat tochek
9: Preobrazovanie dekartovih koordinat v polyarnie
0: Vihod iz pogrammi
8
Vvedite nomer pervoy tochki:1
Vvedite nomer vtoroy tochki:2
Tochki ne sovpadayut
         Viberite operaciu:
1: Zadat' tochku
2: Vivesti tochku s nomerom
3: Vivesti vse tochki
4: Opredelit' rasstoyaie do nachala koordinat
5: Peremeshenie tochki po osi X
6: Peremeshenie tohki po osi Y
7: Opredelit' rassoyanie mezhdu 2 tochkami
8: Sravnenie na sovpadenie i nesovpadenie koordinat tochek
9: Preobrazovanie dekartovih koordinat v polyarnie
0: Vihod iz pogrammi
9
Vvedite nomer tochki:2
Polyarnaya koordinata tochki: (9.848858;23.974644);
        Viberite operaciu:
1: Zadat' tochku
2: Vivesti tochku s nomerom
3: Vivesti vse tochki
4: Opredelit' rasstoyaie do nachala koordinat
5: Peremeshenie tochki po osi X
6: Peremeshenie tohki po osi Y
7: Opredelit' rassoyanie mezhdu 2 tochkami
8: Sravnenie na sovpadenie i nesovpadenie koordinat tochek
9: Preobrazovanie dekartovih koordinat v polyarnie
0: Vihod iz pogrammi
3
(0;0);
(6;7);
(9;4);
(0;0);
(0;0);
         Viberite operaciu:
1: Zadat' tochku
2: Vivesti tochku s nomerom
3: Vivesti vse tochki
4: Opredelit' rasstoyaie do nachala koordinat
5: Peremeshenie tochki po osi X
6: Peremeshenie tohki po osi Y
7: Opredelit' rassoyanie mezhdu 2 tochkami
8: Sravnenie na sovpadenie i nesovpadenie koordinat tochek
9: Preobrazovanie dekartovih koordinat v polyarnie
0: Vihod iz pogramm
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2013, 18:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создать класс Point для работы с точками на плоскости (C++):

Создать класс Point для работы с точками на плоскости - C++
помогите пожалуйста,очень нужно. Создать класс Point для работы с точками на плоскости. Координаты точки – декартовы. • перемещение...

Создать класс Point для работы с точками на плоскости - C++
Прошу помощи, только третья лаба по классам. Не совсем понимаю (может даже вообще) как это делать. Прошу указать и объяснить ошибки. И...

Создать класс Point для работы с точками на плоскости - C++
Задания должны быть реализованы двумя способами: - тип данных представляется структурой с необходимыми полями, а операции реализуются как...

Класс Point для работы с точками на плоскости - C++
Создать класс Point для работы с точками на плоскости. Координаты точки –декартовы. Обязательно должны быть реализованы: перемещение точки...

Разработать класс Point для представления точки на плоскости - C++
Разработать класс Point для представления точки на плоскости. Разработать класс, производный от класса Point. Создать гетерогенный массив...

ООП. Класс Angle для работы с углами на плоскости. - C++
Создать класс Angle для работы с углами на плоскости, задаваемыми величинами в градусах и минутах. Обязательно должны быть реализованы:...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.03.2013, 18:07
Привет! Вот еще темы с ответами:

Класс: создать класс Fraction для работы с дробными числами - C++
Необходимо создать класс Fraction для работы с дробными числами. Число должно быть представлено двумя полями: целая часть – длинное целое...

Создать базовый класс - Array и производный класс - Money для работы денежной суммы - C++
ПОМОГИТЕ, ПОЖАЛУЙСТА, С ЗАДАЧЕЙ Создать базовый класс - Array и производный класс - Money для работы денежной суммы

Создать класс Point и производный класс ColoredPoint (цветная точка) - C++
Создайте класс Point (точка на плоскости), характеризующийся двумя координатами. Создайте производный класс ColoredPoint (цветная точка), в...

Создать класс Point и класс-наследник Line - C++
Создайте класс Point (точка), который содержит элементы целого типа xCoordinate и yCoordinate, и класс наследник Line, имеющий функции...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru