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

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

Войти
Регистрация
Восстановить пароль
 
bending08
0 / 0 / 0
Регистрация: 07.01.2014
Сообщений: 4
#1

Создать структуру Треугольник. Фунциональность: периметр, площадь - C++

08.01.2014, 01:42. Просмотров 714. Ответов 3
Метки нет (Все метки)

Здравствуйте, уважаемые!!!
Уже третий день бьюсь над решением задачи.
Задача следующая: создать программу вычисляющую через функции площадь и периметр треугольника с помощью параметров вершин вводимых с клавиатуры. Необходимо также применение структуры Треугольник.
Вот что у меня примерно получилось:

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
#include <iostream>
using namespace std;
#include "Triangle.h"
struct Point
{
    int x;
    int y;
};
 
struct Triangle
{
    Point a;
    Point b;
    Point c;
};
 
#include "stdafx.h"
double Distance(Point p1, Point q1)
{
    double distance = sqrt(double(p1.x-q1.x)*(p1.x-q1.x)+(p1.y-q1.y)*(p1.y-q1.y));
    cout << Distance;
    return distance;
    
}
 
double Perimetr(Triangle t)
{
    return (Distance(t.a, t.b) + Distance(t.b,t.c) + Distance (t.a,t.c))/2;
    cout << Perimetr;
}
 
double Square (Triangle t)
{
        return (sqrt(double(Perimetr(t)*(Perimetr(t)-Distance(t.a,t.b))*(Perimetr(t)-Distance(t.b,t.c))*(Perimetr(t)-Distance(t.a,t.c)))));
        cout<< Square;
}
 
 
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    Triangle triangle;
    cout << "Input a.x and a.y ->";
    cin >> triangle.a.x >> triangle.a.y;
    cout << "Input b.x and b.y ->";
    cin >> triangle.a.x >> triangle.a.y;
    cout << "Input c.x and c.y ->";
    cin >> triangle.c.x >> triangle.c.y;
 
    double S = Square(triangle);
    cout << S <<"\n";
    return 0;
}
Почему-то после ввода точек выдает мусор. Помогите пожалуйста!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2014, 01:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создать структуру Треугольник. Фунциональность: периметр, площадь (C++):

Периметр и площадь прямоугольного треугольник - C++
Заданы длины катетов a и b прямоугольного треугольника. Найти его периметр и площадь. Input Первая строка стандартного потока ввода...

Треугольник задан координатами вершин. Найти его периметр и площадь - C++
Здравствуйте. Помогите пожалуйста исправить программу для ТС. Даны координаты вершин треугольника. Найти ее площадь. После введения...

Треугольник задан координатами своих вершин. Найти его периметр и площадь. - C++
Здрасте) Помогите пожалуйста Треугольник задан координатами своих вершин. Найти его периметр и площадь. (Описать функцию вычисления...

Если возможно построить прямоугольный треугольник с заданными сторонами, вывести площадь, если нет - периметр - C++
Даны 3 стороны: a, b и с - натуральные. Если можно построить прямоугольный треугольник с этими сторонами, то вывести площадь этого...

Создать абстрактный базовый класс с виртуальными функциями - площадь и периметр - C++
Помогите написать,не врублюсь как писать много пропустил (( Задание:Создать абстрактный базовый класс с виртуальными функциями - площадь ...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
23396 / 15387 / 4532
Регистрация: 22.10.2011
Сообщений: 27,363
Записей в блоге: 4
08.01.2014, 02:00 #2
21-я, 29-я и 35-я строки зачем нужны, расскажешь?
bending08
0 / 0 / 0
Регистрация: 07.01.2014
Сообщений: 4
08.01.2014, 02:02  [ТС] #3
Вставил на случай того чтобы посмотреть что там происходит
some_name
Вежливость-главное оружие
221 / 221 / 55
Регистрация: 19.02.2013
Сообщений: 1,431
08.01.2014, 02:34 #4
Вы два раза вводите координаты точки "а" : строки 45 и 47

Добавлено через 12 минут
Вот, подправил:

Кликните здесь для просмотра всего текста

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
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
struct Point
{
    int x;
    int y;
};
 
struct Triangle
{
    Point a;
    Point b;
    Point c;
};
 
double Distance(Point p1, Point q1)
{
    double dx = (p1.x - q1.x);
    double dy = (p1.y - q1.y);
 
    return sqrt(double(dx * dx + dy * dy));    
}
 
double Perimetr(Triangle t)
{
    double ab = Distance(t.a, t.b);
    double bc = Distance(t.b, t.c);
    double ca = Distance (t.a, t.c);
 
    return (ab + bc + ca)/2;    
}
 
double Square (Triangle t)
{
    double p = Perimetr(t);
 
    double ab = Distance(t.a, t.b);
    double bc = Distance(t.b, t.c);
    double ca = Distance (t.a, t.c);
 
    return sqrt(p * (p - ab) * (p - bc) * (p - ca ));        
}
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    Triangle triangle;
 
    cout << "Input a.x and a.y"<<endl;
    cin >> triangle.a.x >> triangle.a.y;
 
    cout << "Input b.x and b.y"<<endl;
    cin >> triangle.b.x >> triangle.b.y;
 
    cout << "Input c.x and c.y"<<endl;
    cin >> triangle.c.x >> triangle.c.y;
     
    cout << Square(triangle) <<"\n";
 
    getchar();
    getchar();
 
    return 0;
}


Добавлено через 1 минуту
И еще ошибка, в строке 21 : вы пытаетесь вывести указатель на ф-ю
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2014, 02:34
Привет! Вот еще темы с ответами:

Создать базовый класс Треугольник с 2 наследниками: Равносторонний треугольник, Прямоугольный треугольник - C++
Задание звучит так: Нужно создать базовый класс Треугольник с двумя наследующими его классами - равносторонний треугольник (·...

Два треугольника заданы координатами своих вершин A,B,C. Вычислить площадь треугольника и определить какой треугольник имеет большую площадь - C++
Два треугольника заданы координатами своих вершин A,B,C. Вычислить площадь треугольника и определить какой треугольник имеет большую...

Периметр и площадь трапеции - C++
поставьте пожалуйста комментарии в верхнем коде. #include &lt;cstdlib&gt; #include &lt;iostream&gt; # include &lt;math.h&gt; float perimetr(float x,...

Периметр и площадь треугольника - C++
Привет всем. Я в который раз обращаюсь к вам за помощью:D Вот мой код: #include &lt;stdio.h&gt; #include &lt;math.h&gt; int T,count; ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
08.01.2014, 02:34
Ответ Создать тему
Опции темы

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