수안보중학교 로고이미지

RSS 페이스북 공유하기 트위터 공유하기 카카오톡 공유하기 카카오스토리 공유하기 네이버밴드 공유하기 프린트하기
31. 구조체를 이용한 파일처리 성적처리프로그램2
작성자 수안보중학교 등록일 20.03.25 조회수 107
문제31
구조체를 이용한 파일처리 성적처리프로그램2

5명의 번호성명, 국어, 수학, 영어, 3과목 점수를 파일로 입력받아 총점과 평균을 구하는 output.txt 파일로 저장하는 파일 처리 프로그램을 작성하시오.
 
<input.txt>
1 홍길동 89 30 99
2 우리는 95 99 87
3 평양50 85 100
4 탄금대 60 76 67
5 선우금순 75 60 88
 
<output.txt>
***************   ********************
번호    국어   수학   영어   총점   평균
1 홍길동 89 30 99 218 72.7
2 우리는 95 99 87
3 평양50 85 100
4 탄금대 60 76 67
5 선우금순 75 60 88
************************************************
 
#include<stdio.h>
#include<stdlib.h>
 
struct SungJuck
{
int no;
char name[12];
int kor, mat, eng;
int tot;
float ave;
};
 
int main()
{
struct SungJuck sung[5];
 
 
int i;
 
FILE *in, *out;
 
in= fopen("input.txt", "r");
out=fopen("output.txt", "w");
 
 
for(i=0; i<=4; i++)
{
 
fscanf(in, "%d %s %d %d %d", &sung[i].no, sung[i].name, &sung[i].kor, &sung[i].mat, &sung[i].eng );
}
 
fprintf(out, " *************** 성 적 표 *****************\n");
fprintf(out, "번호 성 명 국어 수학 영어 총점 평균 \n\n");
 
for(i=0; i<=4; i++)
{
sung[i].tot=sung[i].kor+sung[i].mat+sung[i].eng;
sung[i].ave=sung[i].tot/3.0;
 
fprintf(out, "%2d %-2s %4d %4d %4d %4d %4.1f\n", sung[i].no,sung[i].name,sung[i].kor,sung[i].mat,sung[i].eng,sung[i].tot,sung[i].ave);
 
}
return(0);
 
fclose(in);
fclose(out);
 
}


이전글 32. 연속부분 최대합1
다음글 30. 파일처리를 이용한 간단한 성적처리1