파일 목록
- 1-Time1-.c
- 1-로또 프로그램 만들기.c
- 1-성적 평균 계산.c
- 1-소스.c
- 1-예제1.c
- 10-1.c
- 10-2.c
- 10-3.c
- 10-4.c
- 10-5.c
- 10-6.c
- 11-1.c
- 11-2.c
- 11-3.c
- 11-4.c
- 11-5.c
- 11-6.c
- 11-make.c
- 12-1-1.c
- 12-1-2.c
- 12-1-3.c
- 12-1-4.c
- 12-2-1.c
- 12-2-2.cpp
- 12-2-3.c
- 12-2-4.c
- 12-2-5.c
- 13-1.c
- 13-2.c
- 13-3.c
- 13-4.c
- 13-5.c
- 13-6.c
- 13-make.c
- 14-1-main.c
- 14-1-power.c
- 14-1-power.h
- 14-2-rect.c
- 14-2-rect.h
- 14-2-rect_main.c
- 14-2-소스.c
- 14-2-소스1.c
- 14-main.c
- 14-reserv.c
- 14-reserv.h
- 2-DICE.c
- 2-minimum.c
- 3-TIC_TAC_TOE.c
- 4-1.c
- 4-2.c
- 4-3.c
- 4-Point.c
- 4-주소.c
- 5-1.cpp
- 5-2.c
- 5-3.c
- 5-4.c
- 5-5.c
- 5-6.c
- 5-7.c
- 6-1.c
- 6-2.c
- 6-3.c
- 6-4.c
- 6-5.c
- 6-6.c
- 6-7.c
- 6-8.c
- 6-make.c
- 7-1.c
- 7-10.c
- 7-11.c
- 7-12.c
- 7-2.c
- 7-3.c
- 7-4.c
- 7-5.c
- 7-6.c
- 7-7.c
- 7-8.c
- 7-9.c
- 7-make.c
- 8.c
- 9.c
- sil1.c
- sil2.c
- sil3.c
- Title.png
- 성적받아오기).c
// 학번 국어 영어 수학 성적을 받아 받은 내용과 총점 평균을 콜솔에 출력하는 프로그램
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
//학생 점수 정보를 받는 구조체 score생성
typedef struct
{
int ID; //학번
int Math; //수학성적
int Kor; //국어성적
int Eng; //영어성적
double Aver; //평균성적
int total; //총점
}score;
void main()
{
int i, cnt; //for문을 돌리기 위한 i변수와, 재적?값 추가할 cnt 변수 추가
score *s, t = { 0 };
//파일 열리면 열고 안되면 꺼버리는 코드 추가
FILE *in;
in = fopen("in.txt", "r");
if (in == NULL)
{
printf("파일 열기 실패!\n 프로그램 강제종료;");
return 1;
}
//문서 읽어보기 while 쓰니 뻑나서 for문으로 돌린 코드
for (cnt = 0, s = NULL; !feof(in); cnt++)
{
if (fscanf(in, "%d%d%d%d", &t.ID, &t.Math, &t.Kor, &t.Eng) != 4) break;
s = (score*)realloc(s, sizeof(score) * (cnt + 1));
s[cnt] = t;
}
fclose(in); //다 읽었으면 종료
//형식 만들기
printf("===============================================\n");
printf(" 학번 국어 영어 수학 총점 평균\n");
printf("===============================================\n");
//저장된 순서대로 불러오기
for (i = 0; i < cnt; i++)
{
(s + i)->total = (s + i)->Math + (s + i)->Kor + (s + i)->Eng;
(s + i)->Aver = ((s + i)->Math + (s + i)->Kor + (s + i)->Eng) / 3;
printf(" %d %d %d %d %d %.2f\n", (s + i)->ID, (s + i)->Math, (s + i)->Kor, (s + i)->Eng, (s + i)->total, (s + i)->Aver);
}
getchar(); //버퍼 비우기
if (s) free(s); //사용한 메모리 반납
return 0; //프로그램 종료
}