#include
#include
void PrintMenu();//메뉴
void InsertDB();//등록
void SearchDB();//검색
void PrintDB();//출력
void DeleteDB();//종료
int in;
#define DB_SIZE 100
#define NAME_LEN 20
#define TEL_LEN 20
#define ADDR_LEN 70
struct bookList
{
char name[NAME_LEN];
char phone[TEL_LEN];
char address[ADDR_LEN];
}bl[DB_SIZE];
int main()
{
in = -1;
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("메뉴를 선택하세요[1-5] : ");
scanf("%d", &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 InsertDB()
{
char n[NAME_LEN], p[TEL_LEN], a[ADDR_LEN];
in++;
printf("이름 : ");
scanf("%s", n);
strcpy(bl[in].name, n);//입력된 이름을 저장
printf("전화번호 : ");
scanf("%s", p);
strcpy(bl[in].phone, p);//입력된 전화번호를 저장
printf("주소 : ");
scanf("%s", a);
strcpy(bl[in].address, a);//입력된 주소를 저장
}
void DeleteDB()
{
printf("삭제메뉴를 선택했습니다.\n");
}
void SearchDB()
{
printf("검색메뉴를 선택했습니다.\n");
}
void PrintDB()
{
int i;
if (in == -1)
{
printf("내용이 없습니다.\n");
return;
}
for (i = 0; i {
printf("이름 : %s\t/\t전화번호 : %s\t/\t 주소 : %s \n", bl[i].name, bl[i].phone, bl[i].address);
}
}
이렇게 짜놨는데 문제가
주소입력할때 공백포함해서 적으면 이렇게됨
출력도 서울시까지밖에 안된다
이거 어떻게 고쳐야되냐
gets쓰셈. gets가 안되면 fgets(stdin, 문자열)
해결됬어 고맙다!