#include<stdio.h>

//=======전역변수
int stop_chack = 1;//스탑체크
int j = 0;//순서

//=======함수
void profile_record();//성적입력
void print_profile();//성적보기
int menu();

//=======구조체
struct data        {
        char std_name[256];//이름저장
        int std_num;//학번저장
        char std_class[256];//학과저장
        int c_score;//C언어 점수저장
        int engi_score;//공학설계 점수저장
        int vb_score;//닷넷 점수저장
        int avr;//평균
} list[9];

//=======메인
void main()
{
        printf("성적관리 프로그램입니다.n");
        while(stop_chack != 0)
        {        
                menu();
                if(stop_chack != 0)
                {
                        switch(stop_chack)
                        {
                        case 1:
                                profile_record();
                                break;
                        case 2:
                                print_profile();
                                break;
                        case 0:
                                break;
                        }
                }
        }
}

//=======메뉴함수
int menu()
{
        printf("메뉴를 선택해주세요.n");
        printf("1. 학생 성적입력n");
        printf("2. 학생 성적보기n");
        printf("0. 종료n");
        printf("▷▶");
        scanf("%d", &stop_chack);

        return stop_chack;
}

//=======학생 성적입력함수
void profile_record()
{
        int stop_chack;

        do
        {
                if(stop_chack != 0)
                {
                        printf("학생의 이름을 입력하시오.n");
                        printf("▷▶");
                        fflush(stdin);
                        gets(list[j].std_name);
                        
                        printf("학생의 학번을 입력하시오.n");
                        printf("▷▶");
                        scanf("%d", &list[j].std_num);


                        printf("학생의 학과를 입력하시오.n");
                        printf("▷▶");        
                        fflush(stdin);
                        gets(list[j].std_class);
                
                        printf("%s 학생의 C언어 점수를 입력하시오.n", list[j].std_name);
                        printf("▷▶");
                        scanf("%d", &list[j].c_score);

                        printf("%s 학생의 공학설계 점수를 입력하시오.n", list[j].std_name);
                        printf("▷▶");
                        scanf("%d", &list[j].engi_score);

                        printf("%s 학생의 닷넷 점수를 입력하시오.n", list[j].std_name);
                        printf("▷▶");
                        scanf("%d", &list[j].vb_score);
                        
                        list[j].avr = (list[j].c_score*list[j].engi_score*list[j].vb_score)/3;

                        j++;

                        printf("종료하시려면 0을, 더 입력하시려면 아무숫자나 눌러주세요.n");
                        scanf("%d", &stop_chack);
                }
        }while(stop_chack != 0);
        printf("n");
}

//==학생 성적출력함수
void print_profile()
{
        printf("학생들의 성적입니다.n");

        for(int i=0;i<=7;i++)
        {
                if(list[i].avr<=list[i+1].avr)
                {
                        list[8] = list[i];
                        list[i] = list[i+1];
                        list[i+1] = list[8];
                }
        }

        for(i=0;i<=7;i++)//아직 다 못했음
        {
                printf("%d등: %sn", i+1, list[i].std_name);
                printf("학번: %d 학과: %sn", list[i].std_num, list[i].std_class);
                printf("C언어 점수: %d 공학설계 점수: %d 닷넷 점수: %d 평균: %dn", list[j].c_score, list[j].engi_score, list[j].vb_score, list[j].avr);
        }
        printf("n");
}

=====================================
위 소스를 실행하고 정보를 입력한담에 출력을 하면
이름과 학과는 제대로뜨는데 숫자는 모두 0으로뜨네요;;

역시 정렬한답시고 구조체를 복사한다는 발상이 잘못된걸까요?;;