c언어로 옮김 -텍스트 파일을 읽어서 평균 구하여 파일에 출력 하는 프로그램을 작성 해야 합니다.
하양이
질문 제목 :
텍스트 파일을 읽어서 평균 구하여 파일에 출력 하는 프로그램을 작성 해야 합니다.
score.txt는
이름 국어 수학 영어
홍길동 90 80 70
김유신 95 68 87
출력 파일 average.txt는
이름 평균
홍길동 70.00
김유신 83.33
계속하려면 아무 키나 누르시오... 만 뜨고 아무것도 안뜸니다.. 왜 평균값이 안뜨죠?
실행창에도 안뜨고 average.txt 파일에도 0.00만 나와잇습니다.
질문 내용 : 소스는 아래와 같습니다.
includestdio.h
#include stdlib.h
#define STR_SIZE 20
#define PERSON_SIZE 100
typedef struct{
char name[STR_SIZE];
int korean;
int math;
int english;
double avg;
}PERSON;
int main(void)
{
PERSON list[PERSON_SIZE]={{},0};
int i=0,number=0;
FILE* fp=NULL;
if((fp = fopen(score.txt,r)) == NULL)
{
printf(score.txt파일을 열수 없습니다.\n);
return 0;
}
while(!feof(fp))
{
fscanf(fp, %s %d %d %d,list[i].name, &list[i].korean, &list[i].math,&list[i].english);
list[i].avg=(list[i].korean+list[i].math+list[i].english)/3.0;
i++;
number++;
}
for(i=0; inumber; i++)
fprintf(fp,%s %.2lf\n, list[i].name, list[i].avg);
fclose(fp);
if((fp = fopen(average.txt,w)) == NULL)
{
printf(파일을 열수 없습니다.\n);
return 0;
}
fprintf(fp,%s %.2lf\n, list[i].name, list[i].avg);
fclose(fp);
return 0;
}