Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.10.2015, 21:36   #1
Никита757
Пользователь
 
Регистрация: 14.05.2015
Сообщений: 57
По умолчанию Класс Triangle

Создать класс Triangle для представления треугольника. Поля данных должны включать углы и стороны. Требуется реализовать операции: получения и изменения полей данных, вычисления площади, вычисления периметра, вычисления высот, а также определения вида треугольника (равносторонний, равнобедренный или прямоугольный).
Подправьте код
Код:
#include <iostream>
#include <cmath>
using namespace std;

class Triangle {
	private:
		float angle1, angle2, angle3, side1, side2, side3;
	public:
		//установка сторон треугольника
		void set_sides()
		{
			cin >> side1 >> side2 >> side3;
		}
		//получение сторон треугольника
	
		//установка углов треугольника
		void set_angles()
		{
			cin >> angle1 >> angle2 >> angle3;
		}
		//получение углов треугольника
	
		//вычисление площади
		float square (void)
		{ float square, P;
		    P=(side1+side2+side3)/2;
		    square=sqrt(P*(P-side1)*(P-side2)*(P-side3));
		    if (square=0) cout << "Triangle doesn't exist" << endl;
		    return square;
		}
		//вычисление периметра
		float perimeter (void)
		{ float perimeter;
		  perimeter = side1+side2+side3;
		  return perimeter;
		}
		//вычисление высот
		void hight (void)
		{ float h1, h2, h3, p;
		  p=(side1+side2+side3)/2;
		  h1 = sqrt(4*p*((p-side1)*(p-side2)*(p-side3))/(side1*side1));
          h2 = sqrt(4*p*((p-side1)*(p-side2)*(p-side3))/(side2*side2));
          h3 = sqrt(4*p*((p-side1)*(p-side2)*(p-side3))/(side3*side3));
          cout <<h1<<" "<<h2<<" "<<h3<<endl;
		}
		//определение вида треугольника
		void kind_of_triangle (void)
		{ if (side1 == side2 == side3) 
		 
           cout <<"Equilateral triangle"<<endl;
         else
         {
           if ((side1 == side2) || (side2 == side3) || (side3 == side1))
		    
           cout << "Isosceles triangle"<<endl;

          else 
          {
           if ((angle1==90)||(angle2==90)||(angle3==90))
		          cout << "Right triangle"<<endl;
		  }
	     } 
	   }
	   
};      

int main()
{
	Triangle T;
	cout <<"Enter sides of triangle"<<endl;
	T.set_sides();
	cout << "Enter angles of triangle"<<endl;
    T.set_angles();	
	T.square(void);
	T.perimeter(void);
	T.hight(void);
	T.kind_of_triangle(void);
	return 0;
}

Последний раз редактировалось Аватар; 04.10.2015 в 08:54.
Никита757 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно сделать задание на с++.Классы triangle,Rectangle,myVector,Mycomle x,frqaction. KrolikTin Помощь студентам 0 22.06.2014 18:39
Cоздать класс жидкость. определить конструкторы деструкторы и функцию печати. создать публик производный класс. (С++) Динар Габбасов Помощь студентам 0 28.05.2012 18:44
Добавить класс в проект2,похожий на класс из проекта1!оба проекта есть! xeops C# (си шарп) 0 15.05.2012 20:31
Класс запускает поток, который заполняет этот класс. Обмен класс <=> поток. Человек_Борща Общие вопросы Delphi 8 27.02.2012 23:24
Разработаем модуль triangle Настенька..Блонди Помощь студентам 2 05.02.2009 22:26