#include <stdio.h>
#include <stdlib.h>
#include<string.h>

typedef struct{
	char name[64];
	int math;
	int english;
	int physics;
	double average;

} Student;

 int main ()
 {
 int i;

 Student students[5];

 // (1) scores.txtを読み込みモード(r)でファイルオープン
FILE *fp = fopen("scores.txt","r");

 if(fp==NULL){
 // scores.txtが開けないことを通知＋プログラム終了
 printf("Cannot open scores.txt\n");
 exit(0);
 }
 else{
 for(i=0;i<5;i++){
 // {氏名(char)，数学の点数(int)，英語の点数(int)，物理の点数(int)}を読み込んでstudentsに保存
 fscanf(fp,"%s%d%d%d",students[i].name,&students[i].math,&students[i].english,&students[i].physics);
 }
 // ファイルを閉じる
 fclose(fp);
 }

 
 // (2) 3教科の平均の計算とaverage.txtへの書込み
 for(i=0;i<5;i++){
 // students[i]の平均(average)を計算
students[i].average	= (double)(students[i].math + students[i].english + students[i].physics)/3 ;
 }

 // average.txtを書き込みモード(w)でファイルオープン
 FILE *wfp = fopen("avarage.txt","w");

 if(wfp==NULL){
 // average.txtが開けないことを通知＋プログラム終了
 printf("Cannot open average.txt\n");
	
 exit(0);
 }
 else{

 printf("Writing average to average.txt\n");
 // {氏名(char)，平均(double)}をaverage.txtへ書込み
 for(i=0;i<5;i++){
 fprintf(wfp,"%s %lf\n",students[i].name,students[i].average);
 }
 // ファイルを閉じる
 fclose(wfp);
 }

// (3) 任意の名前でstudents を検索
char name[64];
printf("Put the student name ");
scanf("%s", name);

 // ここから
Student s;
strcpy(s.name, "nanashi");

 for(i=0;i<5;i++){
 if(strcmp(name, students[i].name)==0){
 strcpy(s.name, students[i].name);
 s.math = students[i].math;
 s.english = students[i].english;
 s.physics = students[i].physics;
 break;
 }
 }

 if(strcmp(s.name, "nanashi")==0){
 printf("%s is not found in scores.txt\n", name);
  }
 else{
 printf("%s's scores are; math=%d, english=%d, physics=%d\n", s.name, s.math, s.english, s.physics);
 }
 // ここまで

 // find 関数の呼び出し
 find(name, students);
 }
 