質問編集履歴
4
発生している問題・エラーメッセージ、該当のソースコード、試したことを私が試した最新の情報に変更しています。
test
CHANGED
File without changes
|
test
CHANGED
@@ -23,26 +23,21 @@
|
|
23
23
|
### 発生している問題・エラーメッセージ
|
24
24
|
|
25
25
|
```
|
26
|
+
Kawai 84 62 74
|
27
|
+
Abe 62 58 68
|
28
|
+
Kubota 88 95 54
|
29
|
+
Yamada 77 39 100
|
30
|
+
Suzuki 82 55 66
|
31
|
+
Ogawa 48 100 61
|
32
|
+
Asai 88 92 96
|
33
|
+
Yoshida 94 92 96
|
34
|
+
Number of students : 8
|
26
|
-
|
35
|
+
Average : 77.875000 74.125000 76.875000
|
27
36
|
|
28
|
-
Kawai 77 59 88
|
29
|
-
P 1634951507 26987 0
|
30
|
-
Inoue 62 58 68
|
31
|
-
X 1868723531 24948 0
|
32
|
-
Yamada 92 52 73
|
33
|
-
A 1634623828 24939 0
|
34
|
-
Sato 82 55 66
|
35
|
-
0 2002872143 97 0
|
36
|
-
Asai 92 40 85
|
37
|
-
? 1633972046 0 0
|
38
|
-
Yoshida 94 92 96
|
39
|
-
Number of students : 11
|
40
|
-
Average : 797740323.090909 7029.727273 43.272727
|
41
|
-
|
42
|
-
C:\Lecture\Prog2\Prog2_3_hw5\x64\Debug\Prog2_3_hw5.exe (プロセス
|
37
|
+
C:\Lecture\Prog2\Prog2_3_hw5\x64\Debug\Prog2_3_hw5.exe (プロセス 2364) は、コード 0 で終了しました。
|
43
38
|
このウィンドウを閉じるには、任意のキーを押してください...
|
44
39
|
|
45
|
-
という風に
|
40
|
+
という風に正しいように表示されるのですが、正答例を見てみると"Kawai"の上に"Kimura"というデータがあるそうなんです。
|
46
41
|
```
|
47
42
|
|
48
43
|
### 該当のソースコード
|
@@ -68,6 +63,7 @@
|
|
68
63
|
{
|
69
64
|
fread(&sub[i], sizeof(int), 3, fp);
|
70
65
|
fread(name[i], sizeof(char), 12, fp);
|
66
|
+
fread(&sub[i], sizeof(int), 3, fp);
|
71
67
|
ave[0] += sub[i][0];
|
72
68
|
ave[1] += sub[i][1];
|
73
69
|
ave[2] += sub[i][2];
|
@@ -87,6 +83,6 @@
|
|
87
83
|
### 試したこと
|
88
84
|
|
89
85
|
while文の中にfgetsを入れてみたりsizeof(Int)にしたりしましたが、ファイルがうまく出力されませんでした。
|
90
|
-
また、teratailでの皆様の回答を参考にさせていただき、whileの{}中のfreadの文を
|
86
|
+
また、teratailでの皆様の回答を参考にさせていただき、whileの{}中のfreadの文を増やしてname→subのデータでループできるようにしたところ8個の正確なデータと平均点もデータが出たのですが、正答例を見ると"Kawai"のデータの上に"Kimura"というデータがあるらしく、やはりwhile文の中が間違えていると思うのです。
|
91
87
|
|
92
88
|
|
3
初心者アイコンに変更しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -87,6 +87,6 @@
|
|
87
87
|
### 試したこと
|
88
88
|
|
89
89
|
while文の中にfgetsを入れてみたりsizeof(Int)にしたりしましたが、ファイルがうまく出力されませんでした。
|
90
|
-
また、teratailでの皆様の回答を参考にさせていただき、whileの{}中のfreadの文を3文から2文に減らし、順番も変更しましたところ、生徒数7しか出てこなかったデータが11まで出てくるようになりましたが、正確なデータが抽出されませんでした
|
90
|
+
また、teratailでの皆様の回答を参考にさせていただき、whileの{}中のfreadの文を3文から2文に減らし、順番も変更しましたところ、生徒数7しか出てこなかったデータが11まで出てくるようになりましたが、正確なデータが抽出されませんでした。
|
91
91
|
|
92
92
|
|
2
タグを修正しました。
test
CHANGED
File without changes
|
test
CHANGED
File without changes
|
1
発生している問題・エラーメッセージ、試したことの欄を自分が試した最新のものに更新しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -25,20 +25,24 @@
|
|
25
25
|
```
|
26
26
|
本来は、Tanaka 65 90 74.....のようにバイナリファイルの中に入っているデータが表示されるのですが
|
27
27
|
|
28
|
+
Kawai 77 59 88
|
28
|
-
|
29
|
+
P 1634951507 26987 0
|
29
|
-
|
30
|
+
Inoue 62 58 68
|
30
|
-
X 1
|
31
|
+
X 1868723531 24948 0
|
31
|
-
|
32
|
+
Yamada 92 52 73
|
33
|
+
A 1634623828 24939 0
|
34
|
+
Sato 82 55 66
|
32
|
-
|
35
|
+
0 2002872143 97 0
|
33
|
-
Asai
|
36
|
+
Asai 92 40 85
|
34
|
-
|
37
|
+
? 1633972046 0 0
|
38
|
+
Yoshida 94 92 96
|
35
|
-
Number of students :
|
39
|
+
Number of students : 11
|
36
|
-
Average :
|
40
|
+
Average : 797740323.090909 7029.727273 43.272727
|
37
41
|
|
38
|
-
C:\Lecture\Prog2\Prog2_3_hw5\x64\Debug\Prog2_3_hw5.exe (プロセス 1
|
42
|
+
C:\Lecture\Prog2\Prog2_3_hw5\x64\Debug\Prog2_3_hw5.exe (プロセス 15328) は、コード 0 で終了しました。
|
39
43
|
このウィンドウを閉じるには、任意のキーを押してください...
|
40
44
|
|
41
|
-
という風になってしまいます。
|
45
|
+
という風に1行正しい→1行間違いという風になってしまいます。
|
42
46
|
```
|
43
47
|
|
44
48
|
### 該当のソースコード
|
@@ -62,9 +66,8 @@
|
|
62
66
|
i = 0;
|
63
67
|
while (fread(&name[i], sizeof(char), 12, fp) == 12)
|
64
68
|
{
|
69
|
+
fread(&sub[i], sizeof(int), 3, fp);
|
65
70
|
fread(name[i], sizeof(char), 12, fp);
|
66
|
-
fread(&sub[i], sizeof(int), 3, fp);
|
67
|
-
fread(&ave, sizeof(double), 3, fp);
|
68
71
|
ave[0] += sub[i][0];
|
69
72
|
ave[1] += sub[i][1];
|
70
73
|
ave[2] += sub[i][2];
|
@@ -84,5 +87,6 @@
|
|
84
87
|
### 試したこと
|
85
88
|
|
86
89
|
while文の中にfgetsを入れてみたりsizeof(Int)にしたりしましたが、ファイルがうまく出力されませんでした。
|
90
|
+
また、teratailでの皆様の回答を参考にさせていただき、whileの{}中のfreadの文を3文から2文に減らし、順番も変更しましたところ、生徒数7しか出てこなかったデータが11まで出てくるようになりましたが、正確なデータが抽出されませんでした
|
87
91
|
|
88
92
|
|