#include
#include
void PrintMenu();//메뉴
void InsertDB();//등록
void SearchDB();//검색
void PrintDB();//출력
void DeleteDB();//종료
int find(char n[]);//문자열 검색 함수
int in;
#define DB_SIZE 100
#define NAME_LEN 20
#define TEL_LEN 20
#define ADDR_LEN 30
char name[DB_SIZE][NAME_LEN];
char phone[DB_SIZE][TEL_LEN];
char address[DB_SIZE][ADDR_LEN];
int main()
{
        PrintMenu();//메뉴
        return 0;
}
void PrintMenu()
{
        int n;
        while (1)//무한반복
        {
                printf("---------Menu--------\n");
                printf(" 1. 등록 \n");
                printf(" 2. 삭제 \n");
                printf(" 3. 검색 \n");
                printf(" 4. 출력 \n");
                printf(" 5. 종료 \n");
                printf("---------------------\n");
                printf("Choose the item : ");
                scanf("%d", &n);
                printf("\n");
                getchar();
                if (1 <= n && n <= 5)
                {
                        switch (n)
                        {
                        case 1:
                                InsertDB();//등록
                                break;
                        case 2:
                                DeleteDB();//삭제
                                break;
                        case 3:
                                SearchDB();//검색
                                break;
                        case 4:
                                PrintDB();//출력
                                break;
                        case 5:
                                return;//종료
                                break;
                        }
                }
                else
                {
                        getchar();
                        printf("다시 입력하세요[1-5]\n");
                }
        }
}


void DeleteDB()
{
        char n[DB_SIZE][NAME_LEN], r;
        int i;
        printf("[ Remove ]\n");
        printf("Input Name for Removing : ");
        scanf("%s", n);
        r = find(n);
        if (-1 == r)
        {
                printf("No Data Found\n\n");
                return;
        }
        for (i = r; i < in - 1; i++)
        {
                strcpy(name[i], name[i + 1]);
                strcpy(phone[i], phone[i + 1]);
        }
        
        in--;
        printf("-------> Complete deleting the phone data......\n\n");
}

void SearchDB()
{
        char n[DB_SIZE][NAME_LEN], r;
        printf("[ Search ]\n");
        printf("Input Name for Searching : ");
        scanf("%s", n);
        r = find(n);
        if (-1 == r)
        {
                printf("No Data Found.\n\n");
                return;
        }
        printf("---> Name : %-20s / Tel : %-20s / Address : %s \n", name[r], phone[r], address[r]);
        printf ("\n");
}

int find(char n[])
{
        int f;
        for (f = 1; f <= DB_SIZE; f++)
        {
                if (!strcmp(name[f], n))
                {
                        return f;

                } 
        }
        return -1;
}

전화번호부 코드인데
등록을
배열 1 홍길동
배열 2 김철수
배열 3 박수철
이렇게 해놓았을때
홍길동이나 김철수를 삭제하면 박수철이가 삭제가 된다
ㅅㅂ 뭐가 잘못됬냐