Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Problem początkującego.


Rekomendowane odpowiedzi

Opublikowano

Witam,

Mam mały problem, mianowicie jest to moja praca domowa która ma oceniać czy z podanych odcinków da się zbudować trójkąt. Niestety JS ma problem z równaniem (a+b )>c, kod niżej...

Przykładowo jak zapodamy same 5: (5+5)>5 zwraca true, no fajnie. Zapodajmy 3,4,5: (3+4)>5 zwraca false. #FuckLogic
 

Proszę o szybką odpowiedź dlaczego to świruje, co robie źle - i inne porady dla początkującego. Wiem brak optymalizacji kodu mogłem w mniejszych ilościach wydruków. :)

a = window.prompt("Podaj A:","0");

document.write('A= ' + a + '<br>')

b = window.prompt("Podaj B:","0");

document.write('B= ' + b + '<br>')

c = window.prompt("Podaj C:","0");

document.write('C= ' + c + '<br>')



document.write('<br>');



document.write('(a+>c =');

document.write((a+>c);

document.write('<br>');

document.write('(b+c)>a =');

document.write((b+c)>a);

document.write('<br>');

document.write('(c+a)>b =');

document.write((c+a)>;



if((a+>c && (b+c)>a && (c+a)>

{

window.alert("Da się.");

}

else

{

window.alert("Nie da się.");

}
Opublikowano

Dziwne, że to ci się w ogóle kompiluje. Używasz apostrofu zamiast cudzysłowu.

 

Edycja - To jest JS >_< Działy Ci się pomyliły.

 

I kolejna edycja - Pewnie chodzi o to, że a, b i c nie są liczbami, tylko znakami bądź ciągami. Możliwe że to nie to, nigdy nie programowałem w js, ale to wydaje się najsensowniejsze.

708121422388637873334.png

Opublikowano

Jaca777 ma rację. Problem polega na tym, że funkcja window.prompt zwraca nie liczbę, tylko ciąg znaków (string). Rozwiązaniem będzie funkcji parseInt:

a = parseInt(window.prompt("Podaj A:","0"));
b = parseInt(window.prompt("Podaj B:","0"));
c = parseInt(window.prompt("Podaj C:","0"));
Opublikowano

Dziwne, że to ci się w ogóle kompiluje. Używasz apostrofu zamiast cudzysłowu.

 

Edycja - To jest JS >_< Działy Ci się pomyliły.

 

I kolejna edycja - Pewnie chodzi o to, że a, b i c nie są liczbami, tylko znakami bądź ciągami. Możliwe że to nie to, nigdy nie programowałem w js, ale to wydaje się najsensowniejsze.

 

Masz racje, prompt uznał to jako ciągi znaków a nie liczb.

 

 

Jaca777 ma rację. Problem polega na tym, że funkcja window.prompt zwraca nie liczbę, tylko ciąg znaków (string). Rozwiązaniem będzie funkcji parseInt:

a = parseInt(window.prompt("Podaj A:","0"));
b = parseInt(window.prompt("Podaj B:","0"));
c = parseInt(window.prompt("Podaj C:","0"));

zgadzam się, innym sposobem jest dopisanie a=a-0;

 

@Topic: problem rozwiązany, faktycznie temat założyłem w złym dziale, dziękuje za pomoc.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...