プロが教える店舗&オフィスのセキュリティ対策術

はじめまして今回が初めての投稿になります、よろしくお願い致します。実はCの復習をかねて以下のようなプログラムを作ったのですが、なぜかjirouとsaburouの英語の点数が0と表示されてしまいます。tarouとshirouはきちんと表示されるのですが・・・ソフトはVisual C++6.0を使っていてコンパイルの際に「'const double ' から 'int ' に変換しました。データが失われているかもしれません。」と出ているのですがいまいち良くわかりません。もしよろしければご教授お願い致します。
#include<stdio.h>

#defineKAMOKU3

main()
{
/*変数の宣言*/
int ten[4][3] = {
{73,59,92},
{52,95.70},
{22.19,31},
{100,99,96}
};
int goukei[4],i;
double heikin[4];
char lank[4] = {'B','B','C','A'};
char shimei[4][10] = {"tarou","jirou","saburou","shirou"};

/*合計と平均の計算*/
for(i = 0;i < 4;i++){
goukei[i] = ten[i][0]+ten[i][1]+ten[i][2];
heikin[i] = (double)goukei[i]/KAMOKU;
}
/*表示*/
printf("氏名   国語 数学 英語 合計  平均 評価\n");
for(i = 0;i<4;i++){
printf("%-10s %5d %5d %5d %5d %7.1f %c\n",shimei[i],ten[i][0],ten[i][1],ten[i][2],
goukei[i],heikin[i],lank[i]);
}
}

A 回答 (2件)

とりあえずgoukeiはdouble型で定義しましょう。

(^_^)
併せてprintfの変更もお忘れ無く。
    • good
    • 0

こちらの方が問題でしたね。

(^_^;

{52,95.70},
{22.19,31},

どちらもカンマの代わりにドットが混入しています。
    • good
    • 0
この回答へのお礼

ホントですね、
なんかいつまでたってもこのような初歩的なミスをしてしまいます(^^;
どうもありがとうございました。

お礼日時:2001/09/05 12:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!