C++ program liczący obwód i pole trójkątów


(Rafcio 100) #1

Potrzebuje kodu do programu w C++ obliczającego obwód i pole trójkąta : równobocznego, równoramiennego, prostokątnego. W programie ma być zastosowana instrukcja if, else if


(Frankfurterium) #2
  1. W tym dziale nie odrabiamy czyichś zadań domowych.

  2. Za stworzony od początku do końca kod z reguły należy się wynagrodzenie. Spróbuj na stronach pokroju oferia.pl


(rgabrysiak) #3

Pokaż co zrobiłeś sam, całej pracy nikt za ciebie nie wykona. W przeciwnym razie temat trafi do Kosza.


(Rafcio 100) #4

Zrobiłem tak, żeby program rozpoznawał po wpisaniu a,b,c z którym trójkątem ma do czynienia lecz wywala błąd gdy chcę obliczyć Obwód trójkąta równobocznego

#define USE_MATH_DEFINES

#include 

#include 

using namespace std;


int main()  

{

	int a, b, c;

	double obwodRownobocznego;


	cout << " Podaj pierwszy bok trojkata " << endl; 

	cin >> a;

	cout << " Podaj drugi bok trojkata " << endl; 

	cin >> b;

	cout << " Podaj trzeci bok trojkata " << endl; 

	cin >> c;


		if ( a==b && b==c && a==c )


		cout << " Obliczam pole i obwod trojkata ROWNOBOCZNEGO:" << endl;

		obwodRownobocznego = 3 * a;

		cout << " Obwod : " << obwodRownobocznego << endl;


		else if ( c * c == a * a + b * b ) 


		cout << " To jest trojkat prostokatny " << endl;


		else if ( a==b || b==a || c==b || c==a ) 


		cout << " To jest trojkat rownoramienny " << endl;


		else if ( a == 0 || b == 0 || c == 0 ) 


		cout << " To nie jest trojkat " << endl;




	return 0;


}

(Drobok) #5

Masz 3x int a wynik w double. Rzutuj int na double, albo pobierz wynik w int.


(Rafcio 100) #6

Zmieniłem wszystkie zmienne na int a później na double i wyskakuje błąd “error C2181: illegal else without matching if”


(Drobok) #7

Klamry nie trzeba robić tylko jeśli instrukcja ma jedną linię.

Masz:

if ( a==b && b==c && a==c )


      cout << " Obliczam pole i obwod trojkata ROWNOBOCZNEGO:" << endl;

      obwodRownobocznego = 3 * a;

      cout << " Obwod : " << obwodRownobocznego << endl;


      else if ( c * c == a * a + b * b )

A powinieneś mieć:

if ( a==b && b==c && a==c )

      {

      cout << " Obliczam pole i obwod trojkata ROWNOBOCZNEGO:" << endl;

      obwodRownobocznego = 3 * a;

      cout << " Obwod : " << obwodRownobocznego << endl;

      }

      else if ( c * c == a * a + b * b )

Teraz widzisz dlaczego warto wstawiać kody błędów :))