2017-05-15 6 views
0

私は15シリーズを含むファイルからデータを読み込む関数を書いています。各シリーズは値0.0で終わります。 series[].totnrは各シリーズの値の数をカウントし、series[].outnrは220の上または下の5%の値の数をカウントし、series[].averageはシリーズのすべての値の平均値を格納します。私は機能をデバッグするときファイルからデータを読み込む際に、私の関数が必要とする値を格納していないのはなぜですか?

しかし、私はseries[0]は値{totnr= -858993360 outnr= -858993459 average= -107374176.}

series[1]ので、すべてが同様の値を持っているのを持っていることがわかります。なぜこれが起こっているのかわからないので、私は本当にこれで助けが必要です。テキスト機能をファイルの内容でここ

から読んでいる:私は機能をデバッグするときしかし、私はシリーズ[0]の値を有していることがわかり https://justpaste.it/16orx

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; 
} 
+3

[mcve]を表示してください。 –

+0

あなたは各番号を読むとき 'fscanf'が1を返すことを確認する必要があります。そして、この関数を呼び出す前に配列をゼロにすることを忘れないでください。 –

+0

そして、なぜVisual Studioデバッガを使用しないのですか? –

答えて

0

」{totnr = -858993360 outnr = -858993459 average = -107374176。} "すべての配列を0から始める必要があります。

関連する問題