前提・実現したいこと
c言語で外部のexam_data.txtというファイル内のそれぞれのIDの合計点を求め、最大値を表示したいと考えております。
まだ学びたてで初心者なので、初歩的なミスも多いかもしれませんが、ご了承ください。
発生している問題・エラーメッセージ
line31:エラー:intとintは誤った型の組み合わせです。:binary+演算子
該当のソースコード
#include<stdio.h>
#include<string.h>
struct TEST{ int ID[10]; /* ID */ int score_j[10];/*国語の点数*/ int score_m[10];/*数学の点数*/ int score_e[10];/*英語の点数*/
};
struct TEST test[10];
int main(int argc, char *argv[]){
FILE *testFile;
int i;
float goukei[10];/合計点/
int max, second, third;
/*ファイルを開く*/ testFile=fopen("exam_data.txt","r"); if(testFile==NULL){ printf("Can't open \"exam_data.txt\"\n"); return 1; } for(i=0;i<10;i=i+1){ fscanf(testFile, "%d %d %d %d %d", &test[i].ID,&test[i].score_j, &test[i].score_m, &test[i].score_e); } /*合計点の算出*/ for(i=0;i<10;i=i+1){ goukei[i]==test[i].score_j+test[i].score_m+test[i].score_e; } /*ファイルを閉じる*/ fclose(testFile); /*1番目の定義*/ max=goukei[i]; for(i=0;i<10;i=i+1) if(max<goukei[i]){ max=goukei[i]; } printf("%d\n",max); return 0;
}
試したこと
#include<stdio.h>
int main(void){
FILE testFile;
int i;
int ID[10]; / ID */
int score_j[10];/国語の点数/
int score_m[10];/数学の点数/
int score_e[10];/英語の点数/
float goukei[10];/合計点/
int max, second, third;
/*ファイルを開く*/ testFile=fopen("exam_data.txt","r"); if(testFile==NULL){ printf("Can't open \"exam_data.txt\"\n"); return 1; } for(i=0;i<10;i=i+1){ fscanf(testFile, "%d %d %d %d %d", &ID[i],&score_j[i],&score_m[i],&score_e[i],&goukei[i]); } /*ファイルを閉じる*/ fclose(testFile); /*合計点の算出*/ goukei[i]==score_j[i]+score_m[i]+score_e[i]; /*1番目の定義*/ max=goukei[i]; for(i=0;i<10;i=i+1) if(max<goukei[i]){ max=goukei[i]; } printf("%d\n",max); return 0;
}
というコードでやってみると、計算結果が0になってしまいます。
補足情報(FW/ツールのバージョンなど)
外部ファイルの中身
ID 国語 数学 英語
1 85 95 70
2 65 80 55
3 80 60 90
4 70 80 90
5 60 40 80
6 70 50 80
7 90 80 90
8 60 80 90
9 90 90 80
10 80 90 80