1누르면 이름 전화번호 입력하고,
2누르면 이름 입력하고 그 입력한이름의 정보 삭제,
3누르면 이름 입력하고 그 입력한이름의 정보 검색,
4누르면 모든 정보 출력,
5누르면 종료.
이러한 틀로 작성해보았는데 코드가 굉장히 깁니다....잘못된점 지적좀 해주세요 부탁드립니다..
#include <stdio.h>
#include <string.h>
#include "man.h"
const int size=20;
void Insert(Man * saram, int idx)
{
puts("Insert");
printf("Input Name: "); fgets(saram[idx].name, sizeof(size), stdin);
saram[idx].name[strlen(saram[idx].name)-1]=0;
printf("Tel: "); fgets(saram[idx].phone_num, sizeof(size), stdin);
saram[idx].phone_num[strlen(saram[idx].phone_num)-1]=0;
puts("Date Inserted");
idx++;
}
void Delete(Man * saram)
{
puts("[Delete]");
char name[20];
int idx=0, i, len=0, com=0;
printf("Input name: "); scanf("%s", name);
len=strlen(name);
while(1)
{
if(strlen(name)==strlen(saram[idx].name))
{
for(i=0;i<len;i++)
if(name[i]==saram[idx].name[i])
com++;
}
if(com==len)
{
saram[idx].name[0]=0;
saram[idx].phone_num[0]=0;
puts("Data Deleted");
break;
}
idx++;
}
}
void Search(Man * saram)
{
puts("[Search]");
char name[20];
int idx=0, i, len=0, com=0;
printf("Input name: "); scanf("%s", name);
len=strlen(name);
while(1)
{
if(strlen(name)==strlen(saram[idx].name))
{
for(i=0;i<len;i++)
if(name[i]==saram[idx].name[i])
com++;
}
if(com==len)
{
printf("Name: %s\n", saram[idx].name);
printf("Tel: %s\n", saram[idx].phone_num);
break;
}
idx++;
}
}
void Print_All(Man * saram)
{
int i;
puts("[Print_All]");
for(i=0;i<10;i++)
if(saram[i].name[0]!=0)
printf("Name: %s Tel: %s\n", saram[i].name, saram[i].phone_num);
}
int main()
{
enum menu{insert=1, del_ete=2, search=3, print_all=4, exit=5};
int num, idx=0;
Man person[10];
while(1)
{
printf("***** MENU *****\n");
printf("1. Insert\n");
printf("2. Delete\n");
printf("3. Search\n");
printf("4. Print All\n");
printf("5. Exit\n");
printf("Choose the item: "); scanf("%d", &num);
switch(num)
{
case insert:
Insert(&person[idx], idx); idx++; break;
case del_ete:
Delete(person); break;
case search:
Search(person); break;
case print_all:
Print_All(person); break;
case exit:
break;
default:
puts("다시 입력해");
}
}
}
아 man.h에는
typedef struct man{ char name[20]; char phone_num[20];} Man;이 입력되어 있습니다.
막퍼질러놓고
그래서 머가 안되는데? 뭘 도와달라는건지....
그래서 뭘하면됩니까