수안보중학교 로고이미지

RSS 페이스북 공유하기 트위터 공유하기 카카오톡 공유하기 카카오스토리 공유하기 네이버밴드 공유하기 프린트하기
30. 파일처리를 이용한 간단한 성적처리1
작성자 수안보중학교 등록일 20.03.10 조회수 82



문제30
파일처리를 이용한 성적처리1

 
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>
int main()
{
int no;
char name[16];
int kor, mat, eng, tot;
float ave;

FILE *in, *out;   //파일포인터 변수 선언
in=fopen("input.txt","r");         //input.txt 파일을 열어 시작주소 in에게 전달
out=fopen("output.txt","w");     //output.txt 파일을 만들어 시작주소를 out에 전달
 
if(in==NULL)    // input.txt 파일이 없을경우 실행 종료를 위한 조건식
 {
   printf("파일이 없어요 ");
   exit(0);    //프로그램 실행종료 함수
   }
 
fprintf(out, " ***************   *****************\n");
fprintf(out, "번호    국어   수학   영어   총점   평균 \n\n");
while(fscanf(in, "%d %s %d %d %d", &no, name, &kor, &mat, &eng ) !=EOF)
{
   tot=kor+mat+eng;
   ave=tot/3.0;
   fprintf(out, "%2d %-2s %4d %4d %4d %4d %4.1f\n", no, name, kor, mat, eng, tot, ave);
  return 0;
}
fclose(in);
fclose(out);
 
}

 

이전글 31. 구조체를 이용한 파일처리 성적처리프로그램2
다음글 29, 정렬하기(오름차순 정렬, sort)