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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.02.2011, 15:25   #1
volchonok232
Новичок
Джуниор
 
Регистрация: 01.02.2011
Сообщений: 4
По умолчанию Задача на простейшие классы

Разработать класс ThreeAngle для работы с плоскими треугольниками. В качестве членов-данных задаются длины трех сторон треугольника. Определить в этом классе функции-члены, которые обеспечивают ввод/вывод элементов класса, доступ к закрытым членам класса и логическую функцию, определяющую возможность построения треугольника. Дополнительно определить функцию-член этого класса, которая определяет длины радиусов вписанной и описанной окружностей этого треугольника.

Вот что получилось после нескольких часов работы над этой задачей
Код:
#include <iostream>
#include <conio.h>
#include <windows.h>
using namespace std;


class ThreeAngle{
float x,y,z,Ookr,Vokr;
public:
	
	float get_size1(){return x;}
	float get_size2(){return y;}
	float get_size3(){return z;}
	void input();
	void output();
	void vSizeCircle();
	void oSizeCircle();

}
void ThreeAngle::input()
{do
	{
		cout<<"zadaite dlinu 1:  "<<endl;
		cin>>x;
		cout<<"zadaite dlinu 2:  "<<endl;
		cin>>y;
		cout<<"zadaite dlinu 3:  "<<endl;
		cin>>z;
	}while (x<0&&y<0&&z<0);
}

void ThreeAngle::output()
{
	cout<<"znachenie dlini 1: "<<x<<endl;
	cout<<"znachenie dlini 2: "<<y<<endl;		
	cout<<"znachenie dlini 3: "<<z<<endl;
}
void ThreeAngle::vSizeCircle()
	{p=(x+y+z)/2;
	s=sqrt(p*(p-x)*(p-y)*(p-z))
};
	{Vokr=s/p
				//длина радиуса вписанной окружности
	}
void ThreeAngle::oSizeCircle()
	{Ookr=(x*y*z)/4s

				//длина радиуса описаной коружности 
	}
int main()	{
ThreeAngle a;
a.input();
a.output();
int Ookr,Vokr;
Vokr=a.vSizeCircle();
Ookr=a.oSizeCircle();
cout<<"dlina radiusa vpisannoi okr=  "<<Vokr<<endl;
cout<<"dlina raduusa opisanoi okr=    "<<Ookr<<endl;

return 0;}

________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 01.02.2011 в 21:59.
volchonok232 вне форума Ответить с цитированием
Старый 01.02.2011, 15:39   #2
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

оформляйте код с помощью тега CODE

по ошибкам:
1) в конце определения класса нету ;
2) не понятно зачем в input() делается do...while()
3) не везде стоят ; после выражений
4) не подключена библиотека math.h (для квадратного корня)
5)
Код:
 Vokr=a.vSizeCircle();
   Ookr=a.oSizeCircle();
они возвращают void
NiCola999 вне форума Ответить с цитированием
Старый 01.02.2011, 16:17   #3
volchonok232
Новичок
Джуниор
 
Регистрация: 01.02.2011
Сообщений: 4
По умолчанию

по поводу второго замечания...
мне нужно чтобы х y z были положительные
volchonok232 вне форума Ответить с цитированием
Старый 01.02.2011, 16:33   #4
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

ну да, можно и так)
NiCola999 вне форума Ответить с цитированием
Старый 01.02.2011, 20:53   #5
volchonok232
Новичок
Джуниор
 
Регистрация: 01.02.2011
Сообщений: 4
По умолчанию

программа отказывается запускаться(
что вы имели ввиду под пунктом 5?
volchonok232 вне форума Ответить с цитированием
Старый 01.02.2011, 21:07   #6
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
что вы имели ввиду под пунктом 5?
То что
Код:
int Ookr,Vokr;
и
Код:
void vSizeCircle();
void oSizeCircle();
Не соответствие типов! (
ну или другими словами вы пытаетесь забрать значение с процедуры, которая в принципе ничего не возвращает!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 01.02.2011, 21:50   #7
volchonok232
Новичок
Джуниор
 
Регистрация: 01.02.2011
Сообщений: 4
По умолчанию

Все) немного разобрался) моя первая программа с классами просто)
вопрос с возвращение переменной в самой программе... тут нужно прописывать return и какое возвращаемое значение лучше поставить
программа запускается без него)
volchonok232 вне форума Ответить с цитированием
Старый 01.02.2011, 22:13   #8
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

return 0;

а вообще в стандарте написано, что это необязательно. Но мне так привычней)
NiCola999 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на классы, перегрузка операторов [C++] Roomper Помощь студентам 13 30.05.2009 08:36
Задача в Делфи, классы. Катерина_Ио Фриланс 3 18.05.2009 14:10