Я пытаюсь создать программу, которая может использовать отношения для определения типа вычисляемого треугольника. Я попробовал float и double declarations, но в любом случае конечный результат неверен и судит меня с ума. В основном программа не распознает «c» как равную a/b для каждого подобного значения. (Например, введите 7 7 для сторон a и b и 60 для угла, должны давать равностороннее, но это не так.) Любые идеи как я могу это решить? Спасибо огромное!Как использовать отношения btwn 3 integers для определения треугольника и/или какую декларацию я могу использовать для работы этой программы?
#include <iostream>
#include <cmath>
#define pi 3.14159265358989
using namespace std;
int main()
{
float a, b, c, d, C;
cout << "Hello. I can calculate the missing length of a triangle" << endl;
cout << "by using using the information you provide." << endl;
cout << "Please enter two positive integers between 1-99 and separate them with a space. " << endl;
cin >> a >> b;
cout << "Side 1 equals: " << a << endl;
cout << "Side 2 equals: " << b << endl;
cout << "Please enter the angle between the two sides you just entered. " << endl;
cin >> d;
C = d * (pi/180); // convert rad to deg
//Compute missing side
c = sqrt((a*a) + (b*b) - 2 * a * b * cos(C));
cout << "The length of the third side of the triangle is: " << c << endl;
if (a == b && b == c) //all sides are equal
cout << "This is an Equilateral Triangle." << endl;
else if (a == b && b != c) // if 2 sides are equal
cout << "This is an Isosceles Triangle. " << endl;
else if (a != b && b != c) // if no sides are equal
cout << "This is a Scalene Triangle. " << endl;
system ("pause");
return 0;
}
ли проблема, что 'c' подобно' 7.00001' или что это полностью далеко? Если первое, см. [Сравнение двух поплавков] (http://stackoverflow.com/q/17333/2069064) – Barry
Я не уверен на 100%. Поскольку я прошу программу рассказать мне значения, и они все одинаковы, но (a == b && b == c) не согласен. Я довольно новичок в программировании, но я предполагаю, что это будет проблемой. Благодаря! – GamerJ