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

Описать класс "Отрезок" - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.88
Fatallk
0 / 0 / 0
Регистрация: 22.02.2012
Сообщений: 140
25.09.2012, 19:38     Описать класс "Отрезок" #1
Написать программу для класса отрезки. Вот примерный код не могу придумать что то для отрезков.
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
#include <string>
#include <conio.h>
#include <iostream>
 
using namespace std;
 
class Student
{
   private:
  string name;
int age, course;
    public:
  void setData ();
  void getData ();
  };
void Student::setData()
{
 cout<<"Enter name"<< endl;
 cin>>name;
}
void Student::getData()
{
 cout<< " Name=" <<name<<";"<<endl;
 cout<< " Age=" <<age;
}
 
//---------------------------------------------------
int main()
{
  Student Olga;
  Student* Nick;
  Olga.setData();
 
  Olga.getData();
  Nick=new Student;
  Nick->setData();
  Nick->getData();
  getch();
        return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
25.09.2012, 20:07     Описать класс "Отрезок" #2
Какие свойства у отрезка? Координаты двух точек и расстояние между ними. Из этого и исходите. Для вычисления размера отрезка по координатам можно определить метод. Каждый объект хранит свои координаты и размер. При создании объекта, в конструктор передаются координаты начала и конца отрезка. Определить методы для установки и получения этих координат.
Fatallk
0 / 0 / 0
Регистрация: 22.02.2012
Сообщений: 140
26.09.2012, 00:35  [ТС]     Описать класс "Отрезок" #3
Любых два свойства которые вводит пользователь, а программа выводит какой это отрезок.

Добавлено через 2 часа 21 минуту
вот набросал почему то ошибка в отрезок средний и большой
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
#include <string>
#include <conio.h>
#include <iostream>
 
using namespace std;
 
class Otrezok
{
   private:
  string name;
int A, B;
    public:
  void Vvod ();
  void Vuvod ();
  };
void Otrezok::Vvod()
{
 cout<<"Enter A and B"<< endl;
 cin>>A;
 cin>>B;
 }
 
void Otrezok::Vuvod(){
if (A==-1||B==1){
 cout<< "Otrezok malenkiy" <<endl;}
 else
 if (A==-2||B==2){
 count<<"Otrezok sredniy"<<endl;}
 else
 if (A==-3||B==3)  {
 count<<"Otrezok bolshoy"<<endl;}
 
}
 
//---------------------------------------------------
int main()
{
  Otrezok ptr;
  Otrezok*fptr;
  ptr.Vvod();
  ptr.Vuvod();
  fptr=new Otrezok;
  fptr->Vvod();
  fptr->Vuvod();
  getch();
        return 0;
}
Добавлено через 1 час 53 минуты
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
26.09.2012, 01:33     Описать класс "Отрезок" #4
там опечатка. cout, а не count
а что это вообще за числа? 1, 2, 3... как они делают отрезок большим?
Fatallk
0 / 0 / 0
Регистрация: 22.02.2012
Сообщений: 140
08.10.2012, 14:05  [ТС]     Описать класс "Отрезок" #5
Вобщем нужно реализовать ввод отрезков на плоскости, метод обчисление длины отрезка, создать массив 1х5 и вывести средней длины отрезков.

Добавлено через 22 часа 21 минуту
ап

Добавлено через 2 часа 49 минут
Должно получится что то такое, не пойму как сделать масссив (1х5, т.к. раньше работал на С)
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
#include <string>
#include <conio.h>
#include <iostream>
 
using namespace std;
 
class Otrezok
{
   private:
  string name;
int x1,x2,y1,y2,AB,SER;
    public:
  void Vvod ();
  void Vuvod ();
  };
void Otrezok::Vvod()
{
 cout<<"Enter x1,x2 and y1,y2"<< endl;
 cin>>x1;
 cin>>x2;
 cin>>y1;
 cin>>y2;
AB=(y2-y1)^2+(x2-x1)^2;
SER=AB/5;  }
void Otrezok::Vuvod(){
cout<<"%d,SER"<< endl;
                                         }
 
 
 
//---------------------------------------------------
int main()
{
  Otrezok ptr;
  Otrezok*fptr;
  ptr.Vvod();
  ptr.Vuvod();
  fptr=new Otrezok;
  fptr->Vvod();
  fptr->Vuvod();
  getch();
        return 0;
}
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.10.2012, 21:34     Описать класс "Отрезок" #6
Цитата Сообщение от Fatallk Посмотреть сообщение
не пойму как сделать масссив (1х5, т.к. раньше работал на С)
C++
1
int arr[5];
Fatallk
0 / 0 / 0
Регистрация: 22.02.2012
Сообщений: 140
08.10.2012, 23:44  [ТС]     Описать класс "Отрезок" #7
Цитата Сообщение от alsav22 Посмотреть сообщение
C++
1
int arr[5];
Я в курсе как сделать инициализацию, но как ввести 5 отрезков а потом вывести среднее значение?
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
08.10.2012, 23:45     Описать класс "Отрезок" #8
Fatallk, нужен массив отрезков что ли?
C++
1
Otrezok arr[5];
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.10.2012, 00:50     Описать класс "Отрезок"
Еще ссылки по теме:

C++ Описать класс "вещь", описывающий габариты и вес предмета
C++ Описать класс "множество" вещественных чисел, позволяющий выполнять основные операции
C++ Класс "Отрезок"

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

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
09.10.2012, 00:50     Описать класс "Отрезок" #9
SER - это что?

Добавлено через 5 минут
Создаёте массив отрезков (8 пост), складываете поля AB элементов массива (для доступа к AB, определите метод: int getAB() {return AB;} ) и делите плученную сумму на размерность массива.

Добавлено через 7 минут
C++
1
2
void Otrezok::Vuvod(){
cout<< AB << endl;
Добавлено через 8 минут

C++
1
2
3
4
5
6
7
double x1,x2,y1,y2,AB;
...
double getAB() {return AB;}
       
...
AB=sqrt(pow((y2-y1), 2) + pow((x2-x1), 2));
...
Добавлено через 27 минут
Код
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
#include <cmath>
#include <cstdlib>
#include <iostream>
using namespace std;
 
class Otrezok
{
   private:
       double x1, x2, y1, y2, AB;
       void size()
       {
           AB = sqrt(pow((y2 - y1), 2) + pow((x2 - x1), 2));
       }
   
   public:
       void Vvod ();
       void Vuvod ();
       double getAB()
       {
            return AB;
       }
};
 
void Otrezok::Vvod()
{
 cout << "Enter x1, x2 and y1, y2" << endl;
 cin >> x1 >> x2 >> y1 >> y2;
 size();
}
 
void Otrezok::Vuvod()
{
    cout << AB << endl;
}
 
//---------------------------------------------------
int main()
{
  Otrezok ptr;
  Otrezok *fptr;
  ptr.Vvod();
  ptr.Vuvod();
  fptr = new Otrezok;
  fptr -> Vvod();
  fptr -> Vuvod();
  delete fptr;
  
  const int N = 5;
  cout << endl;
  Otrezok arr[N];
  for (int i = 0; i < N; i++) //ввод координат отрезков
      arr[i].Vvod();
  
  for (int i = 0; i < N; i++) // вывод длин отрезков 
      arr[i].Vuvod();
 
  double sum = 0;
  for (int i = 0; i < N; i++) // подсчёт суммы длин отрезков
      sum += arr[i].getAB();
  
  cout << endl << sum / N << endl; //вывод среднего значения длины N отрезков
  
  cin.get();
  cin.get();
  return 0;
}
Yandex
Объявления
09.10.2012, 00:50     Описать класс "Отрезок"
Ответ Создать тему
Опции темы

Текущее время: 16:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru