• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:電卓をつくったのですが)

電卓が計算できない理由

このQ&Aのポイント
  • 電卓を使って計算ができない問題が発生しました。クリアーはできるようですが、計算ができません。どこが問題なのでしょうか?
  • 電卓の計算機能が正常に動作していません。クリアーは上手くいくようですが、計算ができない状態です。
  • 電卓を使って計算ができない理由を教えてください。クリアーは問題なく機能していますが、計算ができません。

質問者が選んだベストアンサー

  • ベストアンサー
  • pringlez
  • ベストアンサー率36% (598/1630)
回答No.2

間違えて説明無しで回答してしまいました。 まぁアレだけでもわかると思いますが、 「df」では引数は数値なのでクォーテーションは要りません。 しかし「df1」は、引数がもじれるなので、クォーテーションが必要です。

yonbakukan
質問者

補足

ばっちりでしたが、実はよく解ってません。 解説をお願いしたいです。 to・・・・は初期値だと思います。 inp・・・・これはnullではないでしょうか。戻り値を格納する cal・・・これがよくわかりません。なぜ+なんでしょうか? flg・・・・これもよくわかりません。本だと演算がどうのこうのって書いてありますが なにがなんだかわかりません。 まずここが解ると、後の関数の意味が解ってくると思うのですが、 最終的にaという引数に計算結果を出すしているという事だと思うのですが、 その経緯を知りたいのです。

その他の回答 (3)

  • pringlez
  • ベストアンサー率36% (598/1630)
回答No.4

>inp・・・・これはnullではないでしょうか。戻り値を格納する 違います。nullになることは絶対にありません。戻り値も関係ありません。入力数字です。数値ではなく数字です。「5」が押されると「"5"」という文字がinpに代入されます。もう一度「5」が押されると「"5" + "5"」で「"55"」という文字列が代入されます。 >cal・・・これがよくわかりません。なぜ+なんでしょうか? calが「+」なのは ・最初 ・「=」が押されたとき ・「C」が押されたとき の3パターンです。あとあえていうなら「+」が押されたときも。で「-」「×」「÷」が押されたらそれぞれの文字が入ります。 「+」が押されたときではない上記3パターンで「+」が入っているのは、一言で言うと他の計算処理と同じロジックを使うための工夫でしょう。それ以上は自分で考えてみてください。 >flg・・・・これもよくわかりません。 数字を入力した直後なのか、記号を入力した直後なのかの状態のフラグですね で、本の解説を読んでもわからないということなので、上記の説明でも分からないかもしれませんね。それでも分からない場合には、「この変数は何か」を考える前に、具体的な動きを考えてみましょう。 ・最初に3のボタンが押されたらどうなるか ・次に「×」のボタンが押されたらどうなるか ・次に4のボタンが押されたらどうなるか ・最後に「=」のボタンが押されたらどうなるか とか。自分の頭で考える事は大事ですよ。

yonbakukan
質問者

補足

解らんですよ。 最後の関数はわかります。 0を出せというボタンをクリアに設定してるわけですね。 >+」が押されたときではない上記3パターンで「+」が入っているのは、一言で言うと他の計算処理と同じロジックを使うための工夫でしょう。それ以上は自分で考えてみてください。 これがちんぷんかんぷんです。 独学なもんで今回電卓を作ろうとしたのは 電卓がほしいわけでなく、 自分に足らないところをみつけて勉強しようとしているんです。 電卓はどーでもいいです。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

電卓は簡単そうに見えて意外にやらなくちゃいけないこと多いのでめんどうですよ 一度仕様書をかいてフローチャートをおこしてみるといいでしょう

  • pringlez
  • ベストアンサー率36% (598/1630)
回答No.1

<tr> <td><input type="button" name="add1" value="+" onClick="df1('+')"></td> <td><input type="button" name="add2" value="-" onClick="df1('-')"></td> <td><input type="button" name="add3" value="×" onClick="df1('*')"></td> </tr> <tr> <td><input type="button" name="add4" value="÷" onClick="df1('/')"></td> <td><input type="button" name="add5" value="=" onClick="df1('=')"></td> <td><input type="button" name="add6" value="." onClick="df1('.')"></td> <td><input type="button" name="add7" value="c" onClick="df3()"></td> </tr>