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

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

Восстановить пароль Регистрация
 
bending08
0 / 0 / 0
Регистрация: 07.01.2014
Сообщений: 4
08.01.2014, 01:42     Создать структуру Треугольник. Фунциональность: периметр, площадь #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
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     Создать структуру Треугольник. Фунциональность: периметр, площадь
Посмотрите здесь:

Два треугольника заданы координатами своих вершин A,B,C. Вычислить площадь треугольника и определить какой треугольник имеет большую площадь C++
C++ Найти периметр и площадь прямоугольника
Треугольник задан координатами своих вершин. Найти его периметр и площадь. C++
C++ Периметр и площадь прямоугольного треугольник
C++ Периметр и площадь треугольника
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
volvo
Супер-модератор
 Аватар для volvo
21680 / 14153 / 3938
Регистрация: 22.10.2011
Сообщений: 25,011
Записей в блоге: 2
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
Вежливость-главное оружие
 Аватар для some_name
219 / 219 / 55
Регистрация: 19.02.2013
Сообщений: 1,419
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 : вы пытаетесь вывести указатель на ф-ю
Yandex
Объявления
08.01.2014, 02:34     Создать структуру Треугольник. Фунциональность: периметр, площадь
Ответ Создать тему
Опции темы

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