ページ 11

どうも、やり方がわかりません

Posted: 2007年6月03日(日) 01:33
by 健太郎
現在、ANSI-Cの勉強をしてるのですが
下記のプログラムを最初から決められた数字ではなく、スキャンエフで数字を入力する方法に変えたいのですが
どうも上手くいきません

#include<stdio.h>
int main(void)
{
int a,b,c;

scanf("%d",&a)
scanf("%d",&b)
scanf("%c",&c)

c = getchar();

switch(c)
{

case'+':
printf("a+b=%d\n",a+b);
break;

case'-':
printf("a-b=%d\n",a-b);
break;

default:
printf("no");
break;

}
return 0;
}

ご教授お願いいたします

Re:どうも、やり方がわかりません

Posted: 2007年6月03日(日) 02:06
by Hermit
とりあえず簡単に
#include<stdio.h>
int main(void) {
    int a, b;
    char c;
    scanf("%d", &a);
    scanf("%d", &b);
    scanf(" %c", &c);
    switch (c) {
      case '+':
	printf("a+b=%d\n", a + b);
	break;
      case '-':
	printf("a-b=%d\n", a - b);
	break;
      default:
	printf("no");
	break;
    }
    return 0;
}

Re:どうも、やり方がわかりません

Posted: 2007年6月03日(日) 04:27
by 管理人
変数の型をきちんと把握する事と、
Hermitさんのお書きになっているコードには隠れたテクニックが秘められていて、

scanf(" %c", &c);

ここに半角スペースがあることにも注目してください。

Re:どうも、やり方がわかりません

Posted: 2007年6月03日(日) 11:28
by 太郎
分かってるよ そんなの

Re:どうも、やり方がわかりません

Posted: 2007年6月03日(日) 12:06
by 管理人
太郎さん、お伝えしたい事がありますので、こちらまでメールをください。
dixqhp@gmail.com