回答編集履歴

4

ソースの変更

2018/06/24 09:13

投稿

退会済みユーザー
test CHANGED
@@ -28,7 +28,7 @@
28
28
 
29
29
 
30
30
 
31
- #define BUFSIZE 1000
31
+ #define BUFSIZE 1024
32
32
 
33
33
 
34
34
 

3

ソースの変更

2018/06/24 09:13

投稿

退会済みユーザー
test CHANGED
@@ -28,13 +28,17 @@
28
28
 
29
29
 
30
30
 
31
+ #define BUFSIZE 1000
32
+
33
+
34
+
31
35
  int main(void)
32
36
 
33
37
  {
34
38
 
35
39
  char text[3][10] = {"10a","5b","80c"};
36
40
 
37
- char *buf;
41
+ char buf[BUFSIZE];
38
42
 
39
43
  int i;
40
44
 
@@ -48,55 +52,47 @@
48
52
 
49
53
  }
50
54
 
51
-
55
+ fgets(buf,sizeof(buf),stdin);
52
56
 
53
- if (fgets(buf, sizeof(buf), stdin) == NULL) {
57
+ buf[strlen(buf) - 1] = '\0';
54
58
 
55
- printf("エラーです。");
59
+ for(i = 0; i < 3; i++){
56
60
 
57
- }
61
+ if(strcmp(buf,text[i]) == 0){
58
62
 
59
- else{
63
+ type = i + 1;
60
64
 
61
- for(i = 0; i < 3; i++){
65
+ }
62
66
 
63
- if(strcmp(buf,text[i]) == 0){
67
+ }
64
68
 
65
- type = i + 1;
69
+ switch(type){
66
70
 
67
- }
71
+ case 1:
68
72
 
69
- }
73
+ printf("処理1\n");
70
74
 
71
- switch(type){
75
+ break;
72
76
 
73
- case 1:
77
+ case 2:
74
78
 
75
- printf("処理1\n");
79
+ printf("処理2\n");
76
80
 
77
- break;
81
+ break;
78
82
 
79
- case 2:
83
+ case 3:
80
84
 
81
- printf("処理2\n");
85
+ printf("処理3\n");
82
86
 
83
- break;
87
+ break;
84
88
 
85
- case 3:
89
+ default:
86
90
 
87
- printf("処理3\n");
91
+ printf("何もしない\n");
88
92
 
89
- break;
93
+ break;
90
94
 
91
- default:
92
-
93
- printf("何もしない\n");
94
-
95
- break;
96
-
97
- }
95
+ }
98
-
99
- }
100
96
 
101
97
  return 0;
102
98
 

2

ソースの変更

2018/06/24 08:59

投稿

退会済みユーザー
test CHANGED
@@ -28,79 +28,77 @@
28
28
 
29
29
 
30
30
 
31
- #define BUFSIZE 256
32
-
33
-
34
-
35
31
  int main(void)
36
32
 
37
33
  {
38
34
 
39
- char text[3][10] = {"10a","5b","80c"};
35
+ char text[3][10] = {"10a","5b","80c"};
40
36
 
41
- char buf[BUFSIZE];
37
+ char *buf;
42
38
 
43
- int i;
39
+ int i;
44
40
 
45
- int type = -1;
41
+ int type = -1;
46
42
 
47
-
48
43
 
49
- for(i = 0; i < 3; i++){
50
44
 
45
+ for(i = 0; i < 3; i++){
46
+
51
- printf("%sを入力 -> 処理%d\n",text[i],i + 1);
47
+ printf("%sを入力 -> 処理%d\n",text[i],i + 1);
48
+
49
+ }
50
+
51
+
52
+
53
+ if (fgets(buf, sizeof(buf), stdin) == NULL) {
54
+
55
+ printf("エラーです。");
52
56
 
53
57
  }
54
58
 
55
-
59
+ else{
56
60
 
57
- fgets(buf,sizeof(buf),stdin);
61
+ for(i = 0; i < 3; i++){
58
62
 
59
- buf[strlen(buf) - 1] = '\0'; //最後の改行を削除
63
+ if(strcmp(buf,text[i]) == 0){
60
64
 
61
-
65
+ type = i + 1;
62
66
 
63
- for(i = 0; i < 3; i++){
67
+ }
64
68
 
65
- if(strcmp(buf,text[i]) == 0){
69
+ }
66
70
 
67
- type = i + 1;
71
+ switch(type){
68
72
 
73
+ case 1:
74
+
75
+ printf("処理1\n");
76
+
77
+ break;
78
+
79
+ case 2:
80
+
81
+ printf("処理2\n");
82
+
83
+ break;
84
+
85
+ case 3:
86
+
87
+ printf("処理3\n");
88
+
89
+ break;
90
+
91
+ default:
92
+
93
+ printf("何もしない\n");
94
+
95
+ break;
96
+
69
- }
97
+ }
70
98
 
71
99
  }
72
100
 
73
-
74
-
75
- switch(type){
76
-
77
- case 1:
78
-
79
- printf("処理1\n");
80
-
81
- break;
82
-
83
- case 2:
84
-
85
- printf("処理2\n");
86
-
87
- break;
88
-
89
- case 3:
90
-
91
- printf("処理3\n");
92
-
93
- break;
94
-
95
- default:
96
-
97
- printf("何もしない\n");
98
-
99
- break;
100
-
101
- }
102
-
103
- return 0;
101
+ return 0;
104
102
 
105
103
  }
106
104
 

1

ソースコードの訂正

2018/06/23 10:09

投稿

退会済みユーザー
test CHANGED
@@ -43,6 +43,16 @@
43
43
  int i;
44
44
 
45
45
  int type = -1;
46
+
47
+
48
+
49
+ for(i = 0; i < 3; i++){
50
+
51
+ printf("%sを入力 -> 処理%d\n",text[i],i + 1);
52
+
53
+ }
54
+
55
+
46
56
 
47
57
  fgets(buf,sizeof(buf),stdin);
48
58