#define _CRT_SECURE_NO_WARNINGS
#include <stdio.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);
if ((fp = fopen(fname, "w")) == NULL) {
fprintf(stderr, "성적파일 %s를 열 수 없습니다.\n", fname);
exit(1);
}
while (1) {
printf("학번, 이름, 성적을 입력하시오: (음수이면 종료) ");
scanf("%d", &number);
if (number < 0) break;
scanf("%s %f", name, &score);
fprintf(fp, " %d %s %f", 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("평균=%.2f\n", total / count);
fclose(fp);
return 0;
}
성적파일을 쓰기모드("w")로 열어서 먼저 값을 저장할 파일을 만들고 scanf("%s",fname), fopen()
사용자로부터 학번,이름,성적을 입력받아서 파일에 저장한다. fprintf("%d %s %f",number,name,score)
다시 성적 파일을 읽기모드("r")로 열고, 파일에서 성적을 읽어서 평균을 구한다.fscanf (")
score3.exe
0.06MB
'C' 카테고리의 다른 글
임시파일 (0) | 2024.07.30 |
---|---|
매크로 (0) | 2024.07.09 |
2차원 공간상에서의 평행이동 (typedef 활용) (0) | 2024.06.30 |
문자열 처리 라이브러리 함수 (0) | 2024.06.27 |
문자열 입출력 라이브러리 (0) | 2024.06.25 |