[C++] Program sprawdzający, czy można zbudować trójkąt

Awatar użytkownika
Ceplusplusik
Użytkownik
Użytkownik
Posty: 228
Rejestracja: 7 paź 2012, o 17:02
Płeć: Mężczyzna
Lokalizacja: Kraków
Podziękował: 94 razy

[C++] Program sprawdzający, czy można zbudować trójkąt

Post autor: Ceplusplusik »

Witam wszystkich. Nauczyciel zażyczył sobie, coby zbudować program obliczający obwód i pole trójkąta. W porządku, nie ma żadnego problemu z tym drugim - starczy wprowadzić zmienne a i h. Inaczej w przypadku obwodu, gdzie przede wszystkim zmienne muszą spełniać trzy warunki, żeby w ogóle zaistniał trójkąt. Poniżej przedstawiam mój kod. Uważam, że zrobiłem wszystko, żeby program działał a tutaj niestety tak nie jest: w przypadku, gdy długości boków nie spełniają warunku na trójkąt (np. wartości zmiennych 100,2,2), obwód zawsze jest podany i operator "else" jest zupełnie w takim wypadku pomijany. Proszę o pomoc .

Kod: Zaznacz cały

#include <iostream>
#include <math.h>
using namespace std;

	int main ()
{
	double a,b,c;
	cout << "Podaj dlugosc boku a = " <<endl;
	cin>>a;
	cout << "Podaj dlugosc boku b = " << endl;
	 cin>>b;
	cout << "Podaj dlugosc boku c = " << endl;
	cin>>c;
	
	if (a+b >c && a+c >b && c+b >a)
	{
		double obwod=a+b+c;
		cout << "Obwod trojkata wynosi = " << obwod << endl;
	}
	else 
		cout << "Z bokow o tej dlugosci nie mozna zbudowac trojkata" <<endl;
	
	}
PabloRal
Użytkownik
Użytkownik
Posty: 34
Rejestracja: 30 wrz 2012, o 13:52
Płeć: Mężczyzna
Lokalizacja: Legnica
Podziękował: 1 raz
Pomógł: 4 razy

[C++] Program sprawdzający, czy można zbudować trójkąt

Post autor: PabloRal »

U mnie działa prawidłowo
Dla danych 100, 2, 2 wypisuje "Z bokow o tej dlugosci nie mozna zbudowac trojkata".
Może zrób tak:

Kod: Zaznacz cały

else{ 
      cout << "Z bokow o tej dlugosci nie mozna zbudowac trojkata" <<endl;
}
Awatar użytkownika
Ceplusplusik
Użytkownik
Użytkownik
Posty: 228
Rejestracja: 7 paź 2012, o 17:02
Płeć: Mężczyzna
Lokalizacja: Kraków
Podziękował: 94 razy

[C++] Program sprawdzający, czy można zbudować trójkąt

Post autor: Ceplusplusik »

A to Ci dopiero piernik. Być może kwestia kompilatora. Użyłem klamer, jak mówiłeś, niestety nic nie pomogło. Jakiego używasz programu?
PabloRal
Użytkownik
Użytkownik
Posty: 34
Rejestracja: 30 wrz 2012, o 13:52
Płeć: Mężczyzna
Lokalizacja: Legnica
Podziękował: 1 raz
Pomógł: 4 razy

[C++] Program sprawdzający, czy można zbudować trójkąt

Post autor: PabloRal »

Używam kompilator gcc 4.7.3
Awatar użytkownika
Ceplusplusik
Użytkownik
Użytkownik
Posty: 228
Rejestracja: 7 paź 2012, o 17:02
Płeć: Mężczyzna
Lokalizacja: Kraków
Podziękował: 94 razy

[C++] Program sprawdzający, czy można zbudować trójkąt

Post autor: Ceplusplusik »

Więc co mogłoby być nie tak, skoro mam świeżutkiego Visual Studio 2012? Zrobiłem projekt w formie Win32Project, być może powinienem użyć konsoli?
PabloRal
Użytkownik
Użytkownik
Posty: 34
Rejestracja: 30 wrz 2012, o 13:52
Płeć: Mężczyzna
Lokalizacja: Legnica
Podziękował: 1 raz
Pomógł: 4 razy

[C++] Program sprawdzający, czy można zbudować trójkąt

Post autor: PabloRal »

Myślę, że to niewiele zmieni, ale nigdy nie korzystałem z Visual Studio więc możesz spróbować
Awatar użytkownika
Ceplusplusik
Użytkownik
Użytkownik
Posty: 228
Rejestracja: 7 paź 2012, o 17:02
Płeć: Mężczyzna
Lokalizacja: Kraków
Podziękował: 94 razy

[C++] Program sprawdzający, czy można zbudować trójkąt

Post autor: Ceplusplusik »

W porządku, dzięki . Czekam jeszcze na inne opinie.

@No i co się stało, dodanie pozycji w win32console uruchomiło cały program już poprawnie ... Pozdrawiam.
Gouranga
Użytkownik
Użytkownik
Posty: 1588
Rejestracja: 16 maja 2013, o 17:56
Płeć: Mężczyzna
Lokalizacja: Trójmiasto
Podziękował: 11 razy
Pomógł: 245 razy

[C++] Program sprawdzający, czy można zbudować trójkąt

Post autor: Gouranga »

Kod masz dobry aczkolwiek mam zastrzeżenia co do twojego rozumowania o polu
mając długości wszystkich boków trójkąta nie liczy się z wzoru \(\displaystyle{ \frac{ah}{2}}\)
używa się wzoru Herona
\(\displaystyle{ p = \frac{a+b+c}{2}\\
\\
P = \sqrt{p(p-a)(p-b)(p-c)}}\)
Awatar użytkownika
Ceplusplusik
Użytkownik
Użytkownik
Posty: 228
Rejestracja: 7 paź 2012, o 17:02
Płeć: Mężczyzna
Lokalizacja: Kraków
Podziękował: 94 razy

[C++] Program sprawdzający, czy można zbudować trójkąt

Post autor: Ceplusplusik »

Jak najbardziej, później zastosowałem ten właśnie wzór . Pozdrawiam.
ODPOWIEDZ