2017-10-21 10 views
0

に良い表示する私は実際に私達はちょうどHTML、CSSおよびJavaScriptで作る電卓を持って、開発者の学校でJavascriptを学んでいます。Javascriptのvarがコンソールではなく、HTML

私は問題があり、解決策が見つからないことを除いて、ほとんど完了しています。

私はこの機能

function calcul(operateur){ // fonction du calcul et affichage du résultat 
 
    var lcd = document.getElementById("lcd"); 
 
    switch (operateur){ 
 
     case "+" : 
 
      result = Number(n2) + Number(n1); 
 
      console.log(result); 
 
      lcd.innerHTML = result; 
 
      reset(); 
 
      break; 
 
     case "-" : 
 
      result = Number(n2) - Number(n1); 
 
      console.log(result); 
 
      lcd.innerHTML = result; 
 
      reset(); 
 
      break 
 
     case "/" : 
 
      result = Number(n2)/Number(n1); 
 
      console.log(result); 
 
      lcd.innerHTML = result; 
 
      reset(); 
 
      break 
 
     case "*" : 
 
      result = Number(n2) * Number(n1); 
 
      console.log(result); 
 
      lcd.innerHTML = result; 
 
      reset(); 
 
      break; 
 
    } // résultat affiché, remise à zéro des variables en cas de nouveau calcul par l'utilisateur

は非常に簡単持っている、それだけで2 VARSからの計算はその後、私のHTMLファイル内のdivに結果を表示します。

私の問題は、結果がコンソールに表示され、直後の行がinnerHTMLに配置されていて、常に0を表示していることです... :( 正確に同じinnerHTMLそれはほとんど完璧に動作するので、なぜそれが意図的に機能しないのかを試してみると、私は立ち往生していません:/

フルHTML、CSSおよびjavascriptページ(それぞれindex.html、BSoverload.cssおよびscript.js)はこのGithubのページに表示されていますhttps://github.com/Mikerhinos/Calc、私はフランスで勉強しているので、申し訳ありませんがフランス語で教えているので、申し訳ありませんが、フランス語で教えています。

私を助けるためにしてみてください:)以前あなただけelse文で壊れる

 case "=" : // si l'utilisateur demande le résultat de l'opération 
      if ((operateur !== "") && (n1,n2 >= 0)){ // s'il y a bien une opération à faire, la transmettre à la fonction de calcul 
       calcul(operateur); 
      } 
      else { 
       break; // sinon ne pas tenir compte de la touche 
      } 

を持って、そのファイル内

+1

[あなたは適切な場所に休憩しない](https://github.com/Mikerhinos/Calc/blob/master/script.js#L39)あなたの '='の場合ステートメントブロックであるので、 'C'のcase文に続けます。 –

+0

@trincot reset()は、n1、n2および演算子varをリセットします。 – Mikerhinos

+0

@PatrickEvansくそー、ありがとうございました。私は休憩が間に合わなかったのを見ていませんでした:/すべてのことを読んでいる時間が失われました...あなたの答えを自分の解決策としてマークし、担当者を追加するにはどうすればいいですか? もう一度おねがいします! :D – Mikerhinos

答えて

0

function calcul(operateur){ // fonction du calcul et affichage du résultat 
 
    var lcd = document.getElementById("lcd"); 
 
    var n1= 1; 
 
    var n2 = 2; 
 
    switch (operateur){ 
 
     case "+" : 
 
      result = Number(n2) + Number(n1); 
 
      console.log(result); 
 
      lcd.innerHTML = result; 
 
      break; 
 
     case "-" : 
 
      result = Number(n2) - Number(n1); 
 
      console.log(result); 
 
      lcd.innerHTML = result; 
 
      reset(); 
 
      break 
 
     case "/" : 
 
      result = Number(n2)/Number(n1); 
 
      console.log(result); 
 
      lcd.innerHTML = result; 
 
      reset(); 
 
      break 
 
     case "*" : 
 
      result = Number(n2) * Number(n1); 
 
      console.log(result); 
 
      lcd.innerHTML = result; 
 
      reset(); 
 
      break; 
 
    } 
 
    }// résultat affiché, remise à zéro des variables en cas de nouveau calcul par l'utilisateur
<p id="lcd"> </p> 
 

 
<button onclick="calcul('+')">Try it</button>
にそれを設定し、以下のケースに該当します

function calcul(operateur){ // fonction du calcul et affichage du résultat 
 
    var lcd = document.getElementById("lcd"); 
 
    switch (operateur){ 
 
     case "+" : 
 
      result = Number(n2) + Number(n1); 
 
      console.log(result); 
 
      lcd.innerHTML = result; 
 
      reset(); 
 
      break; 
 
     case "-" : 
 
      result = Number(n2) - Number(n1); 
 
      console.log(result); 
 
      lcd.innerHTML = result; 
 
      reset(); 
 
      break 
 
     case "/" : 
 
      result = Number(n2)/Number(n1); 
 
      console.log(result); 
 
      lcd.innerHTML = result; 
 
      reset(); 
 
      break 
 
     case "*" : 
 
      result = Number(n2) * Number(n1); 
 
      console.log(result); 
 
      lcd.innerHTML = result; 
 
      reset(); 
 
      break; 
 
    } // résultat affiché, remise à zéro des variables en cas de nouveau calcul par l'utilisateur

関連する問題