• 締切済み

C言語の四則演算プログラムについて

こんにちは。hayato2192といいます。 今回は、C言語についてのことを質問したいとおもいます。 MSN相談箱の質問の中で数ある四則演算プログラムに対する質問をみたのですが、僕がつくろうとしているプログラムとはまったくちがいました。 プログラムコードは以下です。 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ #include <stdio.h> main() { int d1, d2; char op; printf("START PROGRAM : Arithmetic operation\n"); printf("ENTER THE NUMBER\n"); scanf(" %d", &d1); printf("ENTER THE OPERATOR\n"); scanf(" %c", &op); switch (op) { case '+': printf("ENTER THE NUMBER\n"); scanf(" &d", &d2); printf("ANSWER IS %d\n", d1+d2); break; case '-': printf("ENTER THE NUMBER\n"); scanf(" &d", &d2); printf("ANSWER IS %d\n", d1-d2); break; case '*': printf("ENTER THE NUMBER\n"); scanf(" &d", &d2); printf("ANSWER IS %d\n", d1*d2); break; case '/': printf("ENTER THE NUMBER\n"); scanf(" &d", &d2); printf("ANSWER IS %d\n", d1/d2); break; default: printf("NO ANSWER\n"); break; } return 0; } \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 使っている関数はscanf printf switchだけというとてもシンプルなプログラムなのです。 じっさい、このプログラムをBorlandのコンパイラでコンパイルすると、switch関数がまったく使われずに、演算子(このプログラムでいうOPERATORです)を入力するところで終了してしまいます。 どのように直せばよいのでしょうか。教えてください

みんなの回答

  • sky222
  • ベストアンサー率70% (22/31)
回答No.3

前の2人の方の指摘も気になりますが、これが一番の原因ではないかと。 C: scanf()関数の連続使用は注意 http://www.aa.alpha-net.ne.jp/freeh/minimini/develop/cscanf.html

参考URL:
http://www.aa.alpha-net.ne.jp/freeh/minimini/develop/cscanf.html
hayato2192
質問者

お礼

できました。ありがとうございました!

  • mond_msx
  • ベストアンサー率30% (6/20)
回答No.2

とりあえず4箇所の scanf("&d",&d2); を scanf("%d",&d2); に直しましょう

hayato2192
質問者

お礼

ありがとうございました!

noname#77845
noname#77845
回答No.1

とりあえず、switch文の中の scanf(" &d", &d2); を scanf(" %d", &d2); に変更してみる。

hayato2192
質問者

お礼

ありがとうございました!

関連するQ&A