lendel
(usa Linux Mint)
Enviado em 14/06/2017 - 23:09h
Elaborar um programa para:
-Receber as coordenadas cartesianas dos três vertices de um triângulo (Xa,Ya), (Xb,Yb) e (Xc,Yc);
-Programa para verificar se o triângulo existe
-Programa para calcular a área do triângulo Usando a formula de Heron
-Programa para determinar o maior lado do triângulo
-Programa para verificar se o triângulo é acutângulo, retângulo ou obtusângulo
-Programa para verificar se o triângulo é equilátero, isósceles, ou escaleno
-Programa para colocar em ordem crescente os três lados do triângulo
-Programa para calcular e exibir os três ângulos internos do triângulo usando a formula dos cossenos
eu fiz o programa dessa forma só não sei como organiza-lo para ele funcionar como o Exercício do livro pede:
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int main(int argc, char *argv[]){
double a, b, c, Xa, Xb, Xc, Ya, Yb, Yc, A, B, C, area, sp;
cout << "\n";
cout << "Programa para verificar se o triângulo existe\n";
cout << "Programa para calcular a área do triângulo Usando a formula de Heron\n";
cout << "Programa para determinar o maior lado do triângulo\n";
cout << "Programa para verificar se o triângulo é acutângulo, retângulo ou obtusângulo\n";
cout << "Programa para verificar se o triângulo é equilátero, isósceles, ou escaleno\n";
cout << "Programa para colocar em ordem crescente os três lados do triângulo\n";
cout << "Programa para calcular e exibir os três ângulos internos do triângulo\n";
cout << "Insira o lado Xa "; cin >> Xa;
cout << "Insira o lado Ya "; cin >> Ya;
cout << "Insira o lado Xb "; cin >> Xb;
cout << "Insira o lado Yb "; cin >> Yb;
cout << "Insira o lado Xc "; cin >> Xc;
cout << "Insira o lado Yc "; cin >> Yc;
//primeiro precisamos saber o valor de a, b e c
a = sqrt(pow(Xb - Xc, 2.0) + pow(Yb - Yc, 2.0));
b = sqrt(pow(Xa - Xc, 2.0) + pow(Ya - Yc, 2.0));
c = sqrt(pow(Xa - Xb, 2.0) + pow(Ya - Yb, 2.0));
// verifica se é um triangulo
if(a < (b + c) & b < (a + c) & c < (a + b))
cout << "O Triângulo existe" << endl;
//calcular área do triângulo usado a formula de Heron
sp = (a + b + c) / 2.0;
area = sqrt (sp * (sp-a) * (sp-b) * (sp-c));
cout << "Área do triângulo é = " << setprecision (2) << fixed << area << endl;
//determinar o maior lado de um triângulo
if( a == b && a > c)
cout << "lado a é igual à b e maior que c\n";
if( a == c && a > b)
cout << "lado a é igual à c e maior que b\n";
if( b == c && b > a)
cout << "lado a é igual à c e maior que a\n";
if( a == b && a < c)
cout << "lado a é igual à b e menor que c\n";
if( a == c && a < b)
cout << "lado a é igual à c e menor que b\n";
if( b == c && b < a)
cout << "lado b é igual à c e menor que a\n";
//maior lado a
if( a > b && a > c)
cout << "maior lado do triângulo é a\n";
//maior lado b
if( b > a && b > c)
cout << "maior lado do triângulo é b\n";
//maior lado c
if( c > a && c > b)
cout << "maior lado do triângulo é c\n";
//verificar se o triângulo é acutângulo, retângulo ou obtusângulo
//acutângulo
if (a * a < (b * b + c * c))
cout << "O Triângulo é Acutângulo" << endl;
//retângulo
if (a * a = (b * b + c * c))
cout << "O Triângulo é Retângulo" << endl;
//obtusângulo
if (a * a > (b * b + c * c))
cout << "O Triângulo é Obtusângulo" << endl;
else
cout << "O Triângulo não é acutângulo, retângulo ou obtusângulo! tente outro valor\n";
//verificar se o triângulo é equilátero, isósceles ou escaleno
if(a==b & b==c)
cout << "O triangulo é Equilatero.\n";
else if(a==b || a==c || b==c)
cout << "O triangulo é Isoceles.\n";
else
cout << "Triângulo é Escaleno.\n";
//colocar em ordem crescente os três lados do triângulo
if (a > b)
if (b > c)
cout << "A ordem crescente: a, b e c\n";
else if (b < c)
cout << "A ordem crescente: a, c e b\n";
if (b > c)
if (c > a)
cout << "A ordem crescente: b, c e a";
else if (c < a)
cout << "A ordem crescente: b, a, e c";
if (c > b)
if (b > a)
cout << "A ordem crescente: c, b e a";
else if (b < a)
cout << "A ordem crescente: c, a e b";
//calcular os ângulos internos do triângulo usando a fórmula dos cossenos
A = acos((pow(b , 2.0) + pow(c , 2.0) - pow(a , 2.0)) / (2 * b * c)) * (180.0 / M_PI);
B = acos((pow(a , 2.0) + pow(c , 2.0) - pow(b , 2.0)) / (2 * a * c)) * (180.0 / M_PI);
C = acos((pow(b , 2.0) + pow(b , 2.0) - pow(c , 2.0)) / (2 * a * b)) * (180.0 / M_PI);
cout << "O resultado de A: " << setprecision (2) << fixed << A << " de B: "
<< setprecision (2) << fixed << B << " de C: " << setprecision (2) << fixed << C << endl;
else
cout << "O Triângulo não existe! tente outro valor\n";
return 0;
}