Rodzaj trójkąta w javascript

Witam, mam do napisania program za pomocą funkcji sprawdzający czy z podanych 3 boków da się zbudować trójkąt jeśli tak to jaki? Równoramienny, równoboczny, prostokątny czy różnoboczny. Zacząłem ale działa on poprawnie tylko dla boków trójkąta równobocznego. Czy dostanę jakąś radę co muszę poprawić?
trojkat.txt (959 bajtów)

Błąd jest gdzieś w zagnieżdżeniu na sprawdzanie w kolejności:

równoboczny :arrow_right: równoramienny :arrow_right: prostokątny :arrow_right: różnoboczny

Niby zagnieżdżasz za mocno warunki a powinny być na tym samym poziomie, bo tak to się widać przerywa w trakcie i wyświetla “nie da się”.

var A=5; var B=6; var C=7;

if (((A + B) > C) && ((A + C > B)) && ((C + B) > A)) {
    if ((A == B) && (A == C)) {
        console.log("Trójkąt jest równoboczny.")
    } else if ((A == B) || (A == C) || (B == C)) {
        console.log("Trójkąt jest równoramienny.")
    } else if ((A * A + B * B == C * C) || (B * B + C * C == A * A) || (A * A + C * C == B * B)) {
        console.log("Trójkąt jest prostokątny.")
    } else
        console.log("Trójkąt jest różnoboczny.")
} else {
    console.log("Z podanych boków nie można stworzyć trójkąta")
}
1 polubienie

Czyli użyj else if zamiast kolejnych if zagnieżdżonych w if.
https://www.w3schools.com/js/js_if_else.asp

1 polubienie

W sumie to drugim problemem jest prompt, robi z zmiennych tekst:

var a=prompt("Podaj długość boku A" , "")
var b=prompt("Podaj długość boku B" , "")
var c=prompt("Podaj długość boku C" , "")
var A = parseFloat(a);
var B = parseFloat(b);
var C = parseFloat(c);

Chyba, że to typowe tylko dla Firefox, a Chrome / IE / Edge / Safari mają jakąś wsteczną kompatybilność.

1 polubienie

No chyba, że program ma rozpoznać trójkąt równoboczny również jako równoramienny wtedy po prostu dla tych warunków potrzebne są dwa niezagnieżdżone testy if.

1 polubienie

Dzięki za podpowiedź. Plik ostatecznie wygląda tak i działa każdy przypadek. Trojkat.txt (988 bajtów)

To jeszcze zostaje nauka wcięć w kodzie JS (i każdym innym na etapie pisania).

http://php.pl/Wortal/Artykuly/Pomysly-porady-sugestie-dobre-nawyki/Powszechne-standardy-kodowania-Czy-zawsze-pozyteczne2/wciecia

Chyba, że po tym niby wykładowca wykrywa gotowca…