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