구조체 버블정렬 질문이요
보물선
제가 극장영화개봉 관객순위를 만들어서 각항목별 매출액,관객수,점유율 별로
항목별로 따로따로 정렬할려고하는데 버블정렬이 관객수하면서 막혀서요 ;; 아무리해도 모르겠네요
소스 올려봅니다
버블정렬에서 temp를 어떻게 해야할지 모르겟네요 ;
배열로 선언을 해도 안되고 궁금해서 올립니다
#includestdio.h
#includestring.h
#includestdlib.h
struct movie{
char mname[15]; //영화제목
int guest;
int nguest;
int money;
int nmoney;
int theater; //상영관수
int rate;//점유율
};
int menu();
void bubblesort(struct movie *m);
void main()
{
int i;
int menuno;
movie m[10]={{아바타,8170846,13351413,800,1200,1450,11},
{의형제,5460035,5460035,400,400,1546,8},{아이언맨,4451205,4451205,320,320,1542,6}
,{전우치,3636693,6108594,260,440,1345,5}};do{
menuno=menu();
switch(menuno){
case 1:printf(--------------극장 개봉영화 관객 순위 보기-------------\n);
printf(영화제목 관객수\t누적관객수\t매출액\t누적매출액\t상영관수\t점유율\n);
for(i=0;i10;i++)
{
printf(%d%s\t,i+1,m[i].mname);
printf(%d\t,m[i].guest);
printf(%d\t,m[i].nguest);
printf(%d억\t,m[i].money);
printf(%d억\t\t,m[i].nmoney);
printf(%d\t\t,m[i].theater);
printf(%d\t\n,m[i].rate);
}
break;
case 2: bubblesort(&m[30]);
break;
case 3:break;
case 4:break;
case 5:break;
case 6:break;
case 7:break;
case 8:printf(Bye Bye.....\n);break;
default:printf(잘못 입력하셨습니다. 다시입력하세요\n);
}//switch
}while(menuno!=8);
}
int menu()
{
int menuno;
printf(--------------------------------\n);
printf(1).극장 개봉영화 관객 순위 보기\n);
printf(2).관객수 순으로 보기\n);
printf(3).누적관객수 순으로 보기\n);
printf(4).매출액 순으로 보기\n);
printf(5).누적매출액 순으로 보기\n);
printf(6).상영관수 순으로 보기\n);
printf(7).점유율 순으로 보기\n);
printf(8).프로그램 종료\n);
printf(--------------------------------\n);
printf(메뉴를 선택하시오);
scanf(%d,&menuno);
return menuno;
}
void bubblesort(struct movie *m)
{
struct movie temp[30];
int i,j;
for(i=0; i30; i++)
{
for(j=0; j30-i; j++)
{
if(m[j].guestm[j+1].guest)
{
temp[j]=m[j].guest;
m[j].guest=m[j+1].guest;
m[j+1].guest=temp[j+1];
}
}
}
printf(관객수 정렬\n);
printf(--------------극장 개봉영화 관객 순위 보기-------------\n);
printf(영화제목 관객수\t누적관객수\t매출액\t누적매출액\t상영관수\t점유율\n);
for(i=0; i30; i++)
printf(%s \t %d %d %d %d %d %d \n, m[i].mname, m[i].guest,m[i].nguest, m[i].money, m[i].nmoney, m[i].theater, m[i].rate);
}