게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
c언어 삭제부분 질문드립니다
게시물ID : programmer_12008짧은주소 복사하기
작성자 : 수원오징어
추천 : 0
조회수 : 1476회
댓글수 : 5개
등록시간 : 2015/07/10 12:28:54
옵션
  • 본인삭제금지
#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은 어떻게없앨방법없나요 
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호