파일 입출력(네이버 - 답변자: 나)
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#define SNUM 22
typedef struct Student
{
char name[10];//이름
int stunum;//학번
int attend;//출석점수
int final;//정시점수
int mid;//수시점수
int task;//과제점수
int sum;//총점
char* score;//평점
int rank;
};
struct Student stu[SNUM];//22명
void input();
void output();
int Rank(int);
int main(void)
{
input();
output();
return 0;
}
void input(){
FILE *inf = fopen("C:\\Users\\삼성\\Desktop\\in.txt", "r");
int i, j, suk;
for (i = 0; i < SNUM; i++)
{
fscanf(inf, "%d %s %d %d %d %d",
&stu[i].stunum, &stu[i].name, &stu[i].attend,
&stu[i].final, &stu[i].mid, &stu[i].task);
stu[i].sum = stu[i].attend + stu[i].final
+ stu[i].mid + stu[i].task;
}
}
void output(){
int i;
printf("학번\t\t 이름\t 출석\t 정시\t 수시\t 과제\t 총점\t 순위\n");
for (i = 0; i < SNUM; i++){
printf("%d\t %s\t %2d\t %2d\t %2d\t %2d\t %2d\t %2d\n",
stu[i].stunum, stu[i].name, stu[i].attend, stu[i].final,
stu[i].mid, stu[i].task, stu[i].sum, Rank(i));
}
}
int Rank(int i){
int j, rank;
rank = 0;
for (j = 0; j < SNUM; j++)
{
if (i != j && stu[i].sum < stu[j].sum)
{
rank++;
}
}
return rank;
}