0
私は15シリーズを含むファイルからデータを読み込む関数を書いています。各シリーズは値0.0で終わります。 series[].totnr
は各シリーズの値の数をカウントし、series[].outnr
は220の上または下の5%の値の数をカウントし、series[].average
はシリーズのすべての値の平均値を格納します。私は機能をデバッグするときファイルからデータを読み込む際に、私の関数が必要とする値を格納していないのはなぜですか?
しかし、私はseries[0]
は値{totnr= -858993360 outnr= -858993459 average= -107374176.}
series[1]
ので、すべてが同様の値を持っているのを持っていることがわかります。なぜこれが起こっているのかわからないので、私は本当にこれで助けが必要です。テキスト機能をファイルの内容でここ
int read_data(FILE *tsin, struct seriespost series[])
{
int i = 0;
float total = 0, number = 0;
i = 0;
while (fscanf(tsin, "%f", &number) != EOF)
{
total = 0;
do {
fscanf(tsin, "%f", &number);
total = total + number;
series[i].totnr = series[i].totnr + 1;
if (number > 231 || number < 209)
{
series[i].outnr++;
}
} while (number != 0.0);
i++;
series[i].average = (total)/(series[i].totnr);
}
return i;
}
[mcve]を表示してください。 –
あなたは各番号を読むとき 'fscanf'が1を返すことを確認する必要があります。そして、この関数を呼び出す前に配列をゼロにすることを忘れないでください。 –
そして、なぜVisual Studioデバッガを使用しないのですか? –