언어

파일 입출력(네이버 - 답변자: 나)

파아랑새 2016. 1. 22. 12:11

#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;
}