#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 30
struct List
{
char name[DB_SIZE][NAME_LEN];
char phone[DB_SIZE][TEL_LEN];
char address[DB_SIZE][ADDR_LEN];
}pb[DB_SIZE];
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);
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[DB_SIZE][NAME_LEN], p[DB_SIZE][TEL_LEN], a[DB_SIZE][ADDR_LEN];
printf("[ INSERT ]\n");
in++;
printf("Input Name : ");
gets(n);
strcpy(pb[in].name, n);//입력된 이름을 저장
printf("Input Tel Number : ");
gets(p);
strcpy(pb[in].phone, p);//입력된 전화번호를 저장
printf("Input Address : ");
gets(a);
strcpy(pb[in].address, a);//입력된 주소를 저장
printf("--------> Data inserted......\n");
}
void DeleteDB()
{
printf("삭제메뉴를 선택했습니다.\n");
}
void SearchDB()
{
printf("검색메뉴를 선택했습니다.\n");
}
void PrintDB()
{
int i;
printf("[ Print All Data ]\n");
if (in == 0)
{
printf("No Data Inserted.\n");
return;
}
for (i = 1; i <= in; i++)
{
printf("Name : %-20s / Tel : %-20s / Address : %s \n", pb[i].name, pb[i].phone, pb[i].address);
}
}
코드는 이렇게 짰는데
지금 구조체를 쓴 상태임
구조체 없이 제기능 하게 할라면 어떻게 바꿔야 되냐
??없에야하는 이유라도있?
구조체 써야되는줄알고 썼는데 구조체 없이쓰는게 과제라더라고
멤버 변수들을 전부 전역변수 하나하나 만들어서 쓰면 컨버팅 끝이지 근데 왜 그렇게 해야하지