• ベストアンサー

C言語で計算機をつくりたい

大学でC言語の基礎の基礎(入門書レベル)を終了したばかりのものです。 一通りの関数とポインタなどは扱えるようになったので、C言語で実際に使えるプログラムを作りたいのです。 最終的には自分でよく使う統計関係の処理(不偏分散)などを行いたいのですが、いきなりそこまではできないのでまずは電卓を作ろうと思い立ちました。 根本的な考え方(どういった関数を使うか、その流れなど)だけで結構ですので、アドバイスを下さい。 お勧めの本、URL等ございましたら教えていただければ幸いです。

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

  • ベストアンサー
  • HAL007
  • ベストアンサー率29% (1751/5869)
回答No.1

>>電卓を作ろうと思い立ちました。 四則演算だけなら参考URLのサンプルどうでしょう。 リンク元は http://www.inf.ie.kanagawa-u.ac.jp/c_learn/C_ouyou_source/c_2nd_6.html#content です。

参考URL:
http://www.inf.ie.kanagawa-u.ac.jp/c_learn/C_ouyou_source/c_2nd_6.html#text_p_190
totoroaki
質問者

お礼

ありがとうございます。 とても参考になりました。

その他の回答 (1)

  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.2

私も電卓を作りました。 私が望んだ電卓は四則演算で誤差を出したくなかったので、四則演算の処理をすべて分数で行うという手法をとっています。 例えば古い電卓だと 1÷3×3= と電卓のボタンを押していくと、 1÷3×の時点で 0.3333333・・・ となって、 3=を続けると 0.9999999・・・ となってしまいますよね。 四則演算に使用する変数を分数として保持し処理しているので、最後はちゃんと 1 になります。 分数の四則演算を行うと、小学生の算数で学んだものをC言語の関数にしていくといったことを行います。 例えば最大公約数や最小公倍数を求めなくてはいけなかったりします。 参考URLはJavaScriptで記述していますが、関数とかはC言語と変わらないと思いますので参考になると思います。 がんばってください。

参考URL:
http://www.geocities.co.jp/Playtown-Toys/2593/JavaScript/rational.html
totoroaki
質問者

お礼

自分で簡単に作ったものは入力は整数のみ受け付け、すべてint型で宣言し、割り算のみfloatで処理していましたが似たような現象はすでにおきていました。 参考にさせていただきます。ありがとうございました。