Калькулятор теоремы Пифагора с использованием HTML и JavaScript - PullRequest
0 голосов
/ 10 июня 2018

Я пытаюсь закодировать калькулятор теоремы Пифагора, используя HTML и Javascript, чтобы он мог найти любую из сторон по заданному значению двух сторон, поэтому я использую операторы if, но мне кажется, что я не могу понять, почемуне работает

здесь есть HTML и JavaScript коды

function do_things() {
  var a = parseFloat(document.getElementById("a").value);
  var b = parseFloat(document.getElementById("b").value);
  var c = parseFloat(document.getElementById("c").value);
  var output = document.getElementById("output");

  if (a=0, b>0){
    var c = Math.sqrt(c*c - b*b)
    var node = document.createElement("LI");                 // Create a <li> node
    var textnode = document.createTextNode(c);              // Create a text node
    node.appendChild(textnode);                              // Append the text to <li>
    document.getElementById("output").appendChild(node);
  } else if (c=0, b>0){
    var c = Math.sqrt(a*a + b*b)
    console.log(0)
    var node = document.createElement("LI");                 // Create a <li> node
    var textnode = document.createTextNode(c);              // Create a text node
    node.appendChild(textnode);                              // Append the text to <li>
    document.getElementById("output").appendChild(node);
  }
}
<h1>Calc</h1>
<p1>Calculate the Hypotnuse given the A and B value</p1>
<p>Side A: <input type="text" id="a"/></p>
<br>
<p>Side B: <input type="text" id="b"/></p>
<br>
<p>Hypotnuse: <input type="text" id="c"/></p>
<br>
 <button type="button" onclick="do_things()">Find the missing value</button>
<br>
<p id="output">The Missing hypotnuse</p>

Ответы [ 2 ]

0 голосов
/ 10 июня 2018

(a=0, b>0) не является допустимым условием.a = 0 - это присвоение, которое должно быть либо a == 0, либо a === 0, а , не служит оператором AND, && делает.Поэтому вам нужно изменить это условие на что-то вроде (a === 0 && b > 0).

Но вы можете упростить свой код и использовать лучшие условия, а также улучшенную манипуляцию с DOM.Вот как вы можете это сделать.

  • используйте Number.isNaN, чтобы проверить, является ли данный вход действительным числом
  • добавить <span id="output"></span>, чтобы сохранить результат, легчеманипулируйте им, чем весь абзац
  • просто используйте .textContent, если вам нужно добавить простой текст к некоторому элементу

Этот код гарантированно выполнит вычисления тогда и только тогда, когда точноПредусмотрено 2 стороны, а третья - NaN (пустая, но также недопустимая цифра)

function do_things() {

  var a = parseFloat(document.getElementById("a").value);
  var b = parseFloat(document.getElementById("b").value);
  var c = parseFloat(document.getElementById("c").value);
  var output = document.getElementById("output");

  if (Number.isNaN(a) && !Number.isNaN(b) && !Number.isNaN(c)) {
    const a = Math.sqrt(c ** 2 - b ** 2);
    output.textContent = ' ' + a;
  }

  if (Number.isNaN(b) && !Number.isNaN(a) && !Number.isNaN(c)) {
    const b = Math.sqrt(c ** 2 - a ** 2);
    output.textContent = ' ' + b;
  }

  if (Number.isNaN(c) && !Number.isNaN(a) && !Number.isNaN(b)) {
    const c = Math.sqrt(a ** 2 + b ** 2);
    output.textContent = ' ' + c;
  }
}
<h1>Calc</h1>
<p1>Calculate the Hypotnuse given the A and B value</p1>
<p>Side A: <input type="text" id="a"/></p>
<br>
<p>Side B: <input type="text" id="b"/></p>
<br>
<p>Hypotnuse: <input type="text" id="c"/></p>
<br>
 <button type="button" onclick="do_things()">Find the missing value</button>
<br>
<p >The Missing side is: <span id="output"></span></p>
0 голосов
/ 10 июня 2018

'===' может возвращать false здесь, потому что вы анализируете значения для float, что даст 0,00.

...