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

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

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

Задача на нахождение площади треугольника - C++

25.01.2014, 22:11. Просмотров 502. Ответов 0
Метки нет (Все метки)

Условие: Даны действительные числа a, b, c, d. Найти площадь шестиугольника, изображенного на
рис. 4.1. Определить функцию вычисления площади треугольника по трем его
сторонами, заданными действительными числами. Если эти числа не позволяют по-
строить треугольник, то результатом работы функции должно быть значение -1. Рисунок
Проблема: Как ограничить пример:
  • Cделать ввод сторон которые будут равны только положительным числам? (Не допустить ввод отрицательных a, b, c, d) Т.к. стороны математически не могут быть равны отрицательным значениям.
  • Cкомпилировать программу (ввести заранее не верные значения), и если посмотреть то один из треугольников будет равен -1, и площадь шестиугольника дальше продолжает считаться. Вопрос, как сделать если несколько(один) из треугольников будет равнен -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
#include <iostream>
#include <math.h>
#include <conio.h>
using namespace std;
 
float square(float a, float b, float c) // площадь треугольника
{
    float p;
    if (a + b < c || a + c < b || b + c < a) // проверка на существование треугольника
        return -1;
    p = (a + b + c) / 2.;
    return sqrt (p * (p - a) * (p - b) * (p - c)); // формула Герона
 
}
int main ()
{
       setlocale(0, "rus");
       float line1, line2, line3, line4; // стороны 
       line1 = 1.0;
       line2 = 1.8;
       line3 = 1.4;
       line4 = 1.2;
       float a, b, c, d;
       cout << "Введите сторону а: ";
       cin >> a;
       cout << "Введите сторону b: ";
       cin >> b;
       cout << "Введите сторону c: ";
       cin >> c;
       cout << "Введите сторону d: ";
       cin >> d;
cout << "Площадь треугольника № 1 (а, 1.0, 1.8): " << square(a, line1, line2) << endl;
cout << "Площадь треугольника № 2 (d, 1.8, 1.4): " << square(d, line2, line3) << endl;
cout << "Площадь треугольника № 3 (c, 1.4, 1.2): " << square(c, line3, line4) << endl;
cout << "Площадь треугольника № 4 (a, b, 1.2): " << square(a, b, line4) << endl;
int s;
s = square(a, line1, line2) + square(d, line2, line3) + square(c, line3, line4) + square(a, b, line4);
cout << "Площадь шестиугольника: " << s << endl;
system ("pause");
return 0;
}
P.S. Если видите недочеты в коде, говорите обязательно, т.к. ещё только учусь, и вникаю в функции да и в с++ в целом.
P.S. 2. Как прервать работу программы в MS VS 2010? (завершить процесс)

Добавлено через 1 час 0 минут
Решил.

Добавлено через 1 минуту
Первая проблема решена.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.01.2014, 22:11     Задача на нахождение площади треугольника
Посмотрите здесь:

Нахождение площади через координаты треугольника - C++
Здравствуйте, есть задание Напишите функцию square, вычисляющую площадь треугольника. С ее помощью для каждой из N точек определите,...

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

Нахождение площади параллелограмма, треугольника и объема параллелепипеда, тетраэдра по координатам вершин - C++
Нахождение площади параллелограмма, треугольника и объема параллелепипеда, тетраэдра по координатам вершин. Задается пользователем:...

Задача о площади треугольника - C++
Следующий код не компилируется.Скажите пожалуйста почему #include&quot;stdafx.h&quot; #include&lt;iostream&gt; #include&lt;math.h&gt; double c; ...

расчет площади треугольника - C++
Всем доброго времени суток! прошу помочь с заданием: Создать класс Triangle. Защищенные элементы класса - координаты трех точек:...

Нахождение площади круга - C++
привет всем. кто может написать код для этой задачи: Дан круг с радиусом R, задать R и вычислить площадь круга(где R является...

Ошибка в подсчете площади треугольника - C++
//main.cpp int a,b,c; a=b=c=0; cin&gt;&gt;a&gt;&gt;b&gt;&gt;c; cout&lt;&lt;eqS(a,b,c); int eqS(int a,int b,int c){ int...

Подсчет площади и периметра треугольника - C++
В зависимости от выбора пользователя подсчитать площадь и периметр треугольника или прямоугольника.Подскажите пожалуйста, как именно это...

Вычисление площади треугольника по координатам x,y - C++
Привет, задали написать программу вычислить площади треугольника по координатам..данные координат берутся из файла и конечный результат...

Вычисление площади равностороннего треугольника - C++
Здравствуйте! помогите пожалуйста правильно написать формулу на с++ для вычисления площади и высоты в равностороннем треугольнике. ...

Функция вычисления площади треугольника - C++
Треугольник задан координатами своих вершин. (Используя процедуру выполнить расчёт длинны стороны треугольника. ) Вычислить площадь...

Перегрузка функций вычисления площади треугольника - C++
Есть 11 функций которые считают площадь треугольника. Каждая по отдельной формуле. Не все функции с разным количеством параметров. Как их...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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