質問編集履歴

2

書式の改善

2020/06/01 08:26

投稿

junnnnchan
junnnnchan

スコア26

test CHANGED
File without changes
test CHANGED
@@ -196,6 +196,8 @@
196
196
 
197
197
  ```
198
198
 
199
+ 開発途中段階です
200
+
199
201
  1.プッシュで入力をabcとしたとき、現在のデータ数は1/10としたい
200
202
 
201
203
  2.Print(&s);を呼び出したとき、abcと表示させたい

1

見やすく

2020/06/01 08:26

投稿

junnnnchan
junnnnchan

スコア26

test CHANGED
File without changes
test CHANGED
@@ -10,9 +10,9 @@
10
10
 
11
11
  typedef struct{
12
12
 
13
- int height; /* 身長 */
13
+ int height; /* 身長 */
14
-
14
+
15
- double vision; /* 視力 */
15
+ double vision; /* 視力 */
16
16
 
17
17
  } Body ;
18
18
 
@@ -20,15 +20,15 @@
20
20
 
21
21
  typedef struct{
22
22
 
23
- Body body; /* 身体データ型 ---*/
23
+ Body body; /* 身体データ型 ---*/
24
-
24
+
25
- int ptr;/* スタックポインタ */
25
+ int ptr;/* スタックポインタ */
26
-
26
+
27
- int max;
27
+ int max;
28
-
28
+
29
- int stk[MAX];
29
+ int stk[MAX];
30
-
30
+
31
- char name[20]; /* 氏名  20人分の箱*/
31
+ char name[20]; /* 氏名  20人分の箱*/
32
32
 
33
33
  } PhysCheckStack ;
34
34
 
@@ -38,13 +38,13 @@
38
38
 
39
39
  int Initialize(PhysCheckStack *s, int max){
40
40
 
41
- s->ptr = 0;
41
+ s->ptr = 0;
42
-
42
+
43
- s->max = max;
43
+ s->max = max;
44
-
44
+
45
- //s->max = ( sizeof s->name / sizeof s->name[0]);
45
+ //s->max = ( sizeof s->name / sizeof s->name[0]);
46
-
46
+
47
- return 0;
47
+ return 0;
48
48
 
49
49
  }
50
50
 
@@ -52,17 +52,17 @@
52
52
 
53
53
  int Push(PhysCheckStack *s, char x[]){
54
54
 
55
- if (s->ptr >= s->max) return -1; /* スタック満杯 */
55
+ if (s->ptr >= s->max) return -1; /* スタック満杯 */
56
-
56
+
57
- for(int i = 0 ; x[i] != NULL ; i ++){
57
+ for(int i = 0 ; x[i] != NULL ; i ++){
58
-
58
+
59
- s->name[s->ptr] = x[i];
59
+ s->name[s->ptr] = x[i];
60
-
60
+
61
- s->ptr++;
61
+ s->ptr++;
62
-
62
+
63
- }
63
+ }
64
-
64
+
65
- return 0;
65
+ return 0;
66
66
 
67
67
  }
68
68
 
@@ -96,7 +96,7 @@
96
96
 
97
97
  int Capacity(const PhysCheckStack *s){
98
98
 
99
- return s->max;
99
+ return s->max;
100
100
 
101
101
  }
102
102
 
@@ -104,7 +104,7 @@
104
104
 
105
105
  int Size(const PhysCheckStack *s){
106
106
 
107
- return ;
107
+ return ;
108
108
 
109
109
  }
110
110
 
@@ -112,85 +112,85 @@
112
112
 
113
113
  void Print(const PhysCheckStack *s){
114
114
 
115
-
116
-
115
+
116
+
117
- for(int i = 0; s->name[i] != NULL; i++) {
117
+ for(int i = 0; s->name[i] != NULL; i++) {
118
-
118
+
119
- printf("%s", s->name[i]);
119
+ printf("%s", s->name[i]);
120
-
120
+
121
- }
121
+ }
122
-
122
+
123
- putchar('\n');
123
+ putchar('\n');
124
124
 
125
125
  }
126
126
 
127
127
  int main(void){
128
128
 
129
- PhysCheckStack s;
130
-
131
- Initialize(&s, MAX);
132
-
133
- while (1) {
134
-
135
- int menu;
136
-
137
- char y[20];
138
-
139
- printf("現在のデータ数:%d/%d\n",Size(&s), Capacity(&s));
140
-
141
- printf("(1) プッシュ (2) ポップ (3) ピーク (4) 表示 (0) 終了:");
142
-
143
- scanf("%d", &menu);
144
-
145
- if (menu == 0) break;
146
-
147
- switch (menu) {
148
-
149
- case 1: /* プッシュ */
150
-
151
- printf("データ:");
152
-
153
- scanf("%s", y);
154
-
155
- if (Push(&s, y) == -1)
156
-
157
- puts("\a エラー:プッシュに失敗しました。");
158
-
159
- break;
160
-
161
- // case 2: /* ポップ */
162
-
163
- // if (Pop(&s, &x) == -1)
164
-
165
- // puts("\a エラー:ポップに失敗しました。");
166
-
167
- // printf("ポップしたデータは%d です。\n", x);
168
-
169
- // break;
170
-
171
- // case 3: /* ピーク */
172
-
173
- // if (Peek(&s, &x) == -1)
174
-
175
- // puts("\a エラー:ピークに失敗しました。");
176
-
177
- // else
178
-
179
- // printf("ピークしたデータは%d です。\n", x);
180
-
181
- // break;
182
-
183
- case 4: /* 表示 */
184
-
185
- Print(&s);
186
-
187
- break;
188
-
189
- }
190
-
191
- }
192
-
193
- return 0;
129
+ PhysCheckStack s;
130
+
131
+ Initialize(&s, MAX);
132
+
133
+ while (1) {
134
+
135
+ int menu;
136
+
137
+ char y[20];
138
+
139
+ printf("現在のデータ数:%d/%d\n",Size(&s), Capacity(&s));
140
+
141
+ printf("(1) プッシュ (2) ポップ (3) ピーク (4) 表示 (0) 終了:");
142
+
143
+ scanf("%d", &menu);
144
+
145
+ if (menu == 0) break;
146
+
147
+ switch (menu) {
148
+
149
+ case 1: /* プッシュ */
150
+
151
+ printf("データ:");
152
+
153
+ scanf("%s", y);
154
+
155
+ if (Push(&s, y) == -1)
156
+
157
+ puts("\a エラー:プッシュに失敗しました。");
158
+
159
+ break;
160
+
161
+ // case 2: /* ポップ */
162
+
163
+ // if (Pop(&s, &x) == -1)
164
+
165
+ // puts("\a エラー:ポップに失敗しました。");
166
+
167
+ // printf("ポップしたデータは%d です。\n", x);
168
+
169
+ // break;
170
+
171
+ // case 3: /* ピーク */
172
+
173
+ // if (Peek(&s, &x) == -1)
174
+
175
+ // puts("\a エラー:ピークに失敗しました。");
176
+
177
+ // else
178
+
179
+ // printf("ピークしたデータは%d です。\n", x);
180
+
181
+ // break;
182
+
183
+ case 4: /* 表示 */
184
+
185
+ Print(&s);
186
+
187
+ break;
188
+
189
+ }
190
+
191
+ }
192
+
193
+ return 0;
194
194
 
195
195
  }
196
196