#include<stdio.h>
#include <stdlib.h>
#include<string.h>
struct people
{
char name[50];
char pnum[50];
};
void select();
void inse(int n);
void del();
void sear();
void print(int n);
struct people peo[100];
int i;
void main()
{
select();
}
void select()
{
int n,num;
printf("몇명처리할것인가?: ");
scanf("%d",&n);
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);
if(num==1)
inse(n);
else if(num==2)
del();
/*else if(n==3)
sear();*/
else if(num==4)
print(n);
else if(num==5)
exit(1);
else
printf("잘못입력하셨습니다.\n");
}
}
void inse(int n)
{
for(i=0; i<n; i++)
{
printf("input name: ");
scanf("%s",peo[i].name);
printf("input telnumber: ");
scanf("%s",peo[i].pnum);
}
}
void print(int n)
{
for(i=0; i<n; i++)
printf("name: %s tel: %s\n",peo[i].name, peo[i].pnum);
}
void del()
{
int n;
printf("몇번째 삭제?: ");
scanf("%d",&n);
strcpy(peo[n-1].name , peo[n].name);
strcpy(peo[n-1].pnum , peo[n].pnum);
strcpy(peo[n].name,peo[n+1].name);
strcpy(peo[n].pnum, peo[n+1].pnum);
}
삭제가 제대로되지않아서요 계속 하다하다 생각해본게 strcpy 를 사용해보는거였는데
3명 입력받고 2번째 삭제하면 앞으로댕겨져서 제대로 출력이되는데 a 11-11 b 22-22 c 33-33 입력받고 삭제를 2번째거하고
출력해보면 마지막에 a 11-11 c 33-33 name: pnum: 이렇게 출력이나와버립니다.. 저 name pnum은 어떻게없앨방법없나요