第25章

第25章 計算機を作ろう(3)

いやー、早いもので、1年半もほったらかしでした(笑)。まーとりあえずキリのいいところで終わらせてあげようと思う。

というわけで早速計算機を作っちゃいましょうか。

#include <stdio.h>

void main()
{
  char buf[80]; // 入力を受け取る変数
  char c;       // どの計算をしたいかを記憶する
  int i1, i2;   // 数字を記憶する変数

  // 計算方法を受け取る
  printf("足し算:「1」\n"
         "引き算:「2」\n"
         "掛け算:「3」\n"
         "割り算:「4」\n"
         "計算したい番号を入力してください --> ");
  gets(buf);
  sscanf( buf, "%c", &c );

  // 1つ目の数字をキーボードからの入力を受け取る
  printf("1つ目の数字を入力してください --> ");
  gets(buf);
  sscanf( buf, "%d", &i1 );

  // 2つ目の数字をキーボードから受け取る
  printf("2つ目の数字を入力してください --> ");
  gets(buf);
  sscanf( buf, "%d", &i2 );

  if       ( c=='1' ) {
    // 足し算
    printf("%d + %d = %d\n", i1, i2, i1+i2);
  } else if( c=='2' ) {
    // 引き算
    printf("%d - %d = %d\n", i1, i2, i1-i2);
  } else if( c=='3' ) {
    // 掛け算
    printf("%d * %d = %d\n", i1, i2, i1*i2);
  } else if( c=='4' ) {
    // 割り算
    printf("%d / %d = %d\n", i1, i2, i1/i2);
  } else {
    // 入力間違い
    printf("計算方法の指定が間違ってます\n");
  }
}

まーこんなもんで実際に計算したい人はいないとは思いますが、初級者の練習にはまーまーのレベルではないでしょうか。

さてさて、長らく(?)続いてきましたこのコーナーですが、25回目というキリのいい(?)回数なので、今回を持ちまして終了させていただこうと思います。

ホントはあんなことやこんなことをやろっかなぁという妄想はいっぱいあったのですが、いかんせんめんどくさいのでヤメました。

このページでC言語の勉強をしてる人はいないと思いますが、万が一いたとしたら、今後は「関数」「構造体」、後特に「ポインタ」について理解を深めてください。C言語はポインタとの闘いと言ってもいいぐらいポインタとは切っても切れない仲なので、始めは理解するのに苦しむかもしれませんが、がんばって理解してください。

ちなみに、上のプログラムは機能もさることながら、エラー処理が未完成です。代表的なのは、gets()ではなくfgets()を使うこと、割り算をする時は0チェックを行うことです。

詳しい説明はもうしませんが、まだまだ他にも今まで書いてきたプログラムに間違いがあります。それらの間違いを指摘できるようになった頃には、C言語中級者になっていることでしょう。



C言語のメニューに戻る

TOPに戻る