Menu



Manage

Study_C > 12-2-5.c Lines 56 | 1.1 KB
다운로드

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

int main()
{
	FILE *fp;
	char fname[100];
	int number, count = 0;
	char name[20];
	float score, total = 0.0;

	printf("성적 파일 이름을 입력하세요 : ");
	scanf("%s", fname);

	printf("%s", fname);

	//성적 파일을 쓰기모드 오픈
	if ((fp = fopen("sample.txt", "w")) == NULL);
	{
		fprintf(stderr, "성적 파일 %s를 열 수 없습니다.\n", fname);
		exit(1);
	}

	// 사용자로부터 학번 이름 성적을 입력받아 파일에 저장
	while (1)
	{
		printf("학번, 이름, 성적을 입력하세요 : (음수이면 종료)");
		scanf("%d%*c", &number);
		if (number < 0) break;
		scanf("%s %f %*c", name, &score);
		fprintf("%s %f %*c", number, name, score);
	}
	fclose(fp);

	//성적 파일을 읽기모드로 열기
	if ((fp = fopen(fname, "r")) == NULL)
	{
		fprintf(stderr, "성적 파일 %s를 열 수 없습니다.\n", fname);
		exit(1);
	}

	//파일에서 성적을 읽어서 평균을 구하기
	while (!feof(fp))
	{
		fscanf(fp, "%d %s %f", &number, name, &score);
		total += score;
		count++;
	}

	printf("평균 = %f\n", total / count);
	fclose(fp);

	return 0;
}