# [C++] Konstruierbarkeit eines Dreiecks prüfen



## Cooky (30. Oktober 2010)

Hallo miteinander 

Ich habe von meinem Informatik Lehrer eine Übungsaufgabe zu lösen bekommen
Hier mal die Aufgabenstellung:

"Ein Dreieck lässt sich aus den Seiten a,b und c konstruieren, wenn die Dreiecksungleichungen a+b>c, a+c>b und b+c>a gelten. Schreiben sie ein Programm, das bei einzugebenden Seiten überprüft, ob sich das Dreieck konstruieren lässt".

In der Konsolenanwendung soll das dann ungefähr so aussehen:


Konstruierbarkeit eines Dreiecks pruefen
Seite a:
Seite b:
Seite c:
Das Dreieck ist konstruierbar/nicht konstruierbar.
Programmende

So sieht mein geschriebener Quelltext für dieses Programm aus:

#include <iostream>
using namespace std;

int main()
{
    float a,b,c;
    cout<<"Konstruierbarkeit eines Dreiecks pruefen."<<endl;
    cout<<"Geben sie die seite a ein: ";
    cin>>a;
    cout<<"Geben sie die seite b ein: ";
    cin>>b;
    cout<<"Geben sie die seite c ein: ";
    cin>>c;
    if (a+b>c)
       {
         cout<<"Dreieck ist konstruierbar."<<endl;
       }       
    else if (a+c>b)
       {
       cout<<"Dreieck ist konstruierbar."<<endl;
       }
    else if (b+c>a)
       {
       cout<<"Dreieck ist konstruierbar."<<endl;
       }
    else
       {   
       cout<<"Nicht konstruierbar."<<endl;
       }
    system("Pause");
    return 0;   
}


Das Problem ist egal welche Zahlen ich eingebe er zeigt immer an "Dreieck konstruierbar".
Ich weiß echt nicht mehr weiter...

Vllt könnt ihr mir ja helfen
und bitte keine dummen beiträge ich bin noch im ersten Schuljahr also.. silence
Falls jemand Verbesserungsvorschläge hat immer her damit 

Gruss Cooky


----------



## MCoder (30. Oktober 2010)

Hallo Cooky,

schaue dir noch mal die mathematischen Grundlagen bzw. deine Aufgabenstellung an: Es müssen alle 3 Ungleichungen *gleichzeitig* erfüllt sein, damit das Dreieck konstruierbar ist. 

Gruß
MCoder


----------



## Cooky (31. Oktober 2010)

Heißt das ich müsste alle drei formeln in eine if Anweisung einfügen? Oder ist das jetzt gemeint ?


----------



## kannaum (31. Oktober 2010)

ja ca so:

```
if (a+b>c && b+c>a && a+c>b)
{
cout<<"Dreieck ist konstruierbar."<<endl;
}
else
{
cout<<"Nicht konstruierbar."<<endl;
}
```

mfg


----------



## Cooky (31. Oktober 2010)

Habs jetzt endlich verstanden *freu*
Danke für eure Hilfe


----------

