c言語
テキストファイルデータからデータを読み込み。
読み込んだデータの項目の平均値を表示させる。
データ読み込みはできています。
読み込みデータの表示もできています。
下記ソースまでやりましたが取り込みデータの扱いが理解できていません。
ご教授よろしくお願いします。
switch(menu)
{ case 1: printf("===F読み込み===\n"); fp=check_fopen("data.txt","r"); for(i=0;i<Num;i++)
{
rc=fscanf(fp,"%s\t%d\t%lf\t%lf\r\n",
Data[i].name, &Data[i].age,
&Data[i].height, &Data[i].weight);
if(rc==EOF) break;
}
int sum_height = 0;
sum_height += Data[i].height; /* 身長を加算 */
cnt=i;
printf("%d件のデータread\n",cnt);
fclose(fp); printf("ファイルclose\n");
break; case 2: printf("\n===データP===\n"); printf("\n名前\t年齢\t身長\t 体重\n"); for(i=0;i<cnt;i++) print_bodydata(&Data[i]); int avrag_height; avrag_height=sum_height/cnt; printf("=====平均身長======"); printf("%.1fcm", avrag_height); break;
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
平均というのはどういう計算をするのかわかってるでしょうか
それをコードにするだけです
平均を出し、その結果のデータをどうしたいんでしょうか
投稿2019/02/04 21:55
総合スコア87719
0
身長を加算
の位置がダメですね。
ループ内に入れないと、最後のデータを超えた領域外の不定値を加算するだけです。
あとsum_height
を宣言する場所もよくないですね。
switch文の外に出しましょう。
投稿2019/02/05 00:19
総合スコア16996
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/05 02:07
2019/02/05 02:18
2019/02/05 02:20
2019/02/05 06:19
2019/02/05 06:39
2019/02/05 06:50
2019/02/05 07:12
2019/02/05 07:42
2019/02/05 08:19
2019/02/05 08:24
2019/02/05 10:34
2019/02/05 11:06
2019/02/05 11:17
2019/02/05 11:18
2019/02/05 12:01
2019/02/05 12:03
2019/02/05 13:00
2019/02/05 13:01
2019/02/05 21:06
2019/02/06 00:00
2019/02/06 00:07
0
case1の中のsum_heightをprintfで出力させてみてください。(for文の中)
double sum_height = 0;
double avrag_height;
としていますが、これ何処で宣言していますか?
ソースがswitch文のところのみなので、判断が難しい。
これの宣言次第では、全く無意味なことになります。
cntは正しく出ているようなので、そこと同じ層に宣言されているでしょうか?
このswitch文の入っている関数の簡単な提示と
int cnt = 0;
double sum_height = 0.0;
double avrag_height = 0.0;
宣言している位置
を簡略でいいので提示してください。
投稿2019/02/05 23:50
総合スコア544
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。