이거 다른건 다돌아가는데 검색만 실행이안된다 왜그런지 좀 알려주셈 코드도 변경해주면 ㄳ

#include

#include

#include

#include

void PrintMenu();

void InsertDB();

void SearchDB();

void PrintDB();

void DeleteDB();

int in;

int find(char n[]);

#define DB_SIZE 100

#define NAME_LEN 20

#define TEL_LEN 20

#define ADDR_LEN 30

#define MAX 100

struct bookList

{

char name[20];

char tel[20];

}bl[MAX];

<!--[if !supportEmptyParas]--> <!--[endif]-->

char name[DB_SIZE][NAME_LEN];

char phone[DB_SIZE][TEL_LEN];

char address[DB_SIZE][ADDR_LEN];

int main()

{

<!--[if !supportEmptyParas]--> <!--[endif]-->

PrintMenu();

return 0;

}

void PrintMenu()

{

int n;

while (1)

{

printf("---------Menu--------\n");

printf(" 1. 등록 \n");


printf(" 3. 검색 \n");


printf("---------------------\n");

printf("메뉴선택 [1-5] : ");

scanf("%d", &n);

getchar();

if (1 <= n && n <= 5)

{

switch (n)

{

case 1:

InsertDB();//등록

break;


case 3:

SearchDB();//검색

break;


printf("다시 입력하세요[1-5]\n");

}

}

}

void InsertDB()

{

char n[DB_SIZE][NAME_LEN], p[DB_SIZE][TEL_LEN], a[DB_SIZE][ADDR_LEN];

printf("입력메뉴를 선택했습니다.\n");

in++;

printf("이름 : ");

gets(n);

strcpy(name[in], n);

printf("전화번호 : ");

gets(p);

strcpy(phone[in], p);

printf("주소 : ");

gets(a);

strcpy(address[in], a);

printf("입력완료\n");

<!--[if !supportEmptyParas]--> <!--[endif]-->

}

void SearchDB()

{

char n[20], r;

printf("검색메뉴를 선택했습니다.\n");

scanf("%s", n);

r = find(n);

if (0 == r)

{

printf("없는 이름 입니다.\n");

return;

}

printf("\n---------------\n이름: %s\n", bl[r].name);

printf("전화번호: %s\n---------------\n", bl[r].tel);

}

int find(char n[])

{

int i;

for (i = 0; i

{

if (!strcmp(bl[i].name, n))

return i;

}

return -1;

}