Rechtwinkliges Dreieck in C , Berechnung?

2 Antworten

Ich kann C leider nicht schreiben und wegen anderen Programmiersprachen aber grob lesen, aber es liegt an deinen Bedingungen.

1. In der Normbezeichnung liegt der rechte Winkel bei der Hypotenuse c, bei dir ist jedoch a die Hypotenuse, wegen

a=sqrt(b*b+c*c)


Dadurch gibt es danach Probleme. Es muss feststehen, was die Hypotenuse ist, sonst gibt es bei Eingabe der beiden Katheten stets ein passendes rechtwinkliges Dreieck, falls die Seitenlängen größer als Null sind.

Es müsste deshalb zuvor einige Fallunterscheidung geben.
 
1. Beide Längen müssen größer Null sein.
     if (c <=0) or if (b <=0)    => kein Dreieck definiert


2. c muss länger als b sein

 if(c<=b)

printf("damit ist kein Dreieck definiert\n")



else

a=sqrt(c*c -b*b)

usw.
lauten.




Noch ein Hinweis zur Grammatik/Rechtschreibung:

Bitte geben Sie die Seitenlaengen von 

Seitenlänge ohne n

Die laenge von der Seite  a ist




Laenge groß, beträgt statt ist

C ist lange her, aber das hier scheint ein Tippfehler zu sein.

else if(b> (b+c))

Ansonsten ist Deine Fehlerbeschreibung etwas mau. :)