teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

修正

2015/11/07 23:41

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -7,40 +7,41 @@
7
7
  double a, b, ans;
8
8
  char o; //演算子
9
9
  int x; //繰り返すかどうか
10
+ char line[1000];
10
11
 
11
12
  do{
12
13
 
13
14
  printf("電卓です。\n数字を入力してください。\n");
14
15
 
15
- scanf_s("%d", &a);
16
+ fgets(line,sizeof line,stdin); sscanf_s(line,%lf,&a);
16
17
 
17
18
  printf("演算子を入力してください。\n");
18
19
 
19
- scanf_s("%c", &o);
20
+ fgets(line,sizeof line,stdin); sscanf_s(line,%c,&o,1);
20
21
 
21
22
  printf("数字を入力してください\n");
22
23
 
23
- scanf_s("%d", &b);
24
+ fgets(line,sizeof line,stdin); sscanf_s(line,lf,&b);
24
25
 
25
26
  switch (o)
26
27
  {
27
28
 
28
29
  case '+':
29
- printf("%d+%dの値は%dです", a, b, a + b);
30
+ printf("%lf+%lfの値は%lfです", a, b, a + b);
30
31
  break;
31
32
 
32
33
  case '-':
33
- printf("%d-%dの値は%dです", a, b, a - b);
34
+ printf("%lf-%lfの値は%lfです", a, b, a - b);
34
35
  break;
35
36
 
36
37
  case '*':
37
- printf("%%dの値は%dです", a, b, a*b);
38
+ printf("%lf×%lfの値は%lfです", a, b, a*b);
38
39
  break;
39
40
 
40
41
  case '/':
41
- if (a || b == 0){ printf("0で除算はできません。\n"); break; }
42
+ if (a == 0 || b == 0){ printf("0で除算はできません。\n"); break; }
42
43
  else{
43
- printf("%%dの値は%dです", a, b, a / b);
44
+ printf("%lf÷%lfの値は%lfです", a, b, a / b);
44
45
  break;
45
46
  }
46
47