第21章

第21章 計算機を作ろう(1)

今章からちょっとは役に立つアプリケーションを作ります。 まずは簡単に作れそうで、 ちょっとは役に立ちそうな計算機を作りましょうか。

だれでも知ってるとは思いますが、 計算には加減乗除があります。 いきなり全部できるようにするのはすごく難しいので、 最初は足し算引き算をやりましょう。
ではどのような「仕様」にしましょうか?

 ・足し算引き算の選択
 ・計算する数字の入力

をどのようにするかが一番の問題ですね。 普通の計算機だと「+」キーや「−」キーをたたいて、 足し算引き算を行うわけですが。
これを実現しようとすると・・・、ちょっと難しいです。 ので、ひとまず次のようにしましょう。

 ・まず足し算引き算どちらをするか入力する
 ・2つの数字を入力する
 ・結果を出力する

これなら簡単そうですね。(^_^)
では早速これを満たすプログラムを作りましょう。



やっと出てきたな getchar!!
以前ここそのうち出てくるとか 書いてましたが、ちゃんと出てきましたね(遅すぎって?)。
この関数は、キーボードからの入力(標準入力)を読み出す関数です。
な〜んだ、「scanf」と同じじゃない。驚かせちゃってー。
い〜え、全然違いますよ!!

#なんか大きい字が続くなー・・・

「文字」と「数字」は表面上(目で見ると)同じですが、 内部的(メモリー上)では全然違う値なんです。

「文字列」と「数字列」を考えるともっとわかり易いかもしれません。 例えば、文字列「123」と数字列「123」はどうなるでしょう?
まず読み方からして変わりますよね? 文字列は「いちに(い)さん」で、数字列は「ひゃくにじゅうさん」ですね。

従って、下の「if」文の分岐時もちゃんと「'」(シングルクォーテーション)で、 囲ってやって、「文字でっせ」と、 教えてあげないといけません。
さー、これの実行結果ですが以下のようになります。



おー、ちゃんと計算機っぽいぞ〜!

と、ちょっと見には思うのですが、色々試してください。 とんでもないことになりますから。
例えば・・・



ははは、笑うしかないですね。 これは世に言うバグです。
次回はこのバグを考慮したプログラミングをしましょう。

C言語のメニューに戻る


TOPに戻る