Satz von Pythagoras-Programm in C

#include <stdio.h>

float function (float x, float y);
float function2 (float x, float z);
float function3 (float y, float z);

float main()

{
    float x;
    float y;
    float z; 

    {

    printf("Please insert length of adjacent side");
    scanf("%f", &x); 

    printf("Please insert length of opposite side");
    scanf("%f", &y); 

    printf("Please insert length of the hypotenuse");
    scanf("%f", &z);


    }

    {

    if (z = 0){
        printf("The length of the hypotenuse is %f",  function (x, y));}

    else if (y = 0){ 
        printf("The length of the opposite side is %f",  function2(x, z));} 

    else if (x=0){
        printf("The length of the adjacent side is %f",  function3(y, z));} 

    }

}


float function(float x, float y) {

    return(sqrt(((x*x)+(y*y))));

}

float function2(float x, float z) {

    return(sqrt(((z*z)-(x*x))));

}

float function3(float y, float z){

    return(sqrt(((z*z)-(y*y))));

}

Dies ist der code, den ich habe, um herauszufinden, die fehlende Seite eines rechtwinkligen Dreiecks. Der input für die Seite, die Sie nicht wissen, ist 0. Wenn ich das Programm starte fragt es mich für alle Seiten, aber dann geht es nicht auf und gib mir die Antwort...Könnte bitte jemand dies erklären?
Dank

  • Jemand zu schlagen Yoda-Bedingungen in 3, 2, 1...
  • Sie sollten auch prüfen, den Fall, wo ein (oder mehrere) der Variablen negativ sind.
  • Ein paar Hinweise. Funktion 2 und 3 durchführen, die genau die gleiche operation, möchten Sie vielleicht zu prüfen, wiederverwenden eine der Funktionen. Die Variablennamen x y z sind wirklich schlecht, wenn man bedenkt, dass bedeutet "angrenzend", "gegenüber" und "hypotenuse" in Ihrem Programm. Verwenden Sie diesen Namen statt - es wird einfacher sein, zu verstehen und zu Debuggen. Dasselbe für die Funktionen - Benennung einer Funktion "Funktion" ist sinnlos - der name sollte beschreiben, was es tut. Und schließlich, nicht wirklich im Zusammenhang mit der Programmplanung, "angrenzend" und "gegenüber" implizieren Sie relativ zu einem bestimmten Punkt auf dem Dreieck, das nie angegeben, so ist irrelevant.
  • ja vielen Dank dafür, das habe ich ändern opp und adj. Ich denke, ich habe zu viel pre calc stuck in my head 😀
InformationsquelleAutor Marcus | 2011-03-02
Schreibe einen Kommentar