구조체 버블정렬 질문입니다
초록이
질문 제목 : 구조체 버블정렬에관해서 msvcr90.dll 오류가 정렬함수호출할떄 발생합니다 왜그런지;;
저희집에서만 안되는건지 딴데서는 되는지 모르겟네요 메뉴에서 2번 눌러보시면됩니다
소스확인좀해주세요
질문 내용 :
#includestdio.h
#includestring.h
struct movie{
char mname[15]; //영화제목
int guest;
int nguest;
int money;
int nmoney;
int theater; //상영관수
int rate;//점유율
};
typedef struct movie m;
int menu();//메뉴
void sort(m *m1);
void dataswap(m *m1, m *m2);
void printdata(m *m, char *text);
void main()
{
int i,menuno;
m m1[30]={{아바타,8170846,13351413,800,1200,1450,11},
{의형제,5460035,5460035,400,400,1546,8},{아이언맨,4451205,4451205,320,320,1542,6}
,{전우치,3636693,6108594,260,440,1345,5}};
char *text1 = ******(오름차순 소트 전)*********;
char *text2 = ******(오름차순 소트 후)*********;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,m1[i].mname);
printf(%d\t,m1[i].guest);
printf(%d\t,m1[i].nguest);
printf(%d억\t,m1[i].money);
printf(%d억\t\t,m1[i].nmoney);
printf(%d\t\t,m1[i].theater);
printf(%d\t\n,m1[i].rate);
}
break;
case 2: printdata(m1, text1);
printf(\n);
sort(m1);
printdata(m1, text2);
printf(\n);
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 sort(m *m1)
{
int i = 0, j = 0;
m temp;
for(i = 0; i 29; i++)
{
for(j = i+1; j 30; j++)
{
if(m1[i].guest m1[j].guest)
{
dataswap(&temp, &m1[i]);
dataswap(&m1[i], &m1[j]);
dataswap(&m1[j], &temp);
}
}
}
}
void dataswap(m *mm1, m *mm2)
{
strcpy(mm1-mname, mm2-mname);
mm1-guest = mm2-guest;
mm1-nguest = mm2-nguest;
mm1-money = mm2-nmoney;
mm1-theater = mm2-theater;
mm1-rate = mm2-rate;
}
void printdata(m *m1, char *text)
{
int i =0;
printf(%s\n, text);
printf(--------------극장 개봉영화 관객 순위 보기-------------\n);
printf(영화제목 관객수\t누적관객수\t매출액\t누적매출액\t상영관수\t점유율\n);
for(i = 0; i 30; i++)
printf(%13d %9s %3d %8d %6d %10d %d\n, m1[i].mname, m1[i].guest, m1[i].nguest, m1[i].money,m1[i].nmoney, m1[i].theater, m1[i].rate);
printf(\n);
}
-
희미한눈물
xp 쓰고잇어요 ;;
-
남자
혹시 윈도우7쓰고 계시진 않는지..