#include <stdio.h>

void my_gets(char *x)
{
 int i=0;
 char b;
 while((b=getchar())!='n'){
  x[i]=b,i++;
 }
 x[i]='';
}
 
int my_stl(char *x)
{
 int i;
 for(i=0;x[i]!='';i++){
 }
 return (i);
}
 
int del(char *x,char y)
{
 int i=0,j;
 for(i=0;x[i]!='';i++){
  if(x[i]==y){
   for(j=i;x[j]!='';j++)
    x[j]=x[j+1];
   printf("%c가 삭제되었습니다: %sn",y,x);
   return (1);
  }
 }
 printf("삭제를 잘못 입력 했음.n");
 return -1;
}
 
int ist(char *x,char y, char z)
{
 int i=0,j;
 for(i=0;x[i]!='';i++){
  if(x[i]==y){
   for(j=my_stl(x);j>i;j--)
    x[j+1]=x[j];
   x[i+1]=z;
   printf("%c가 삽입되었습니다: %sn",z,x);
   return (1);
  }
 }
 printf("삽입를 잘못 입력 했음.n");
 return -1;
}
 
int adr(char *x,char y)
{
 int i;
 for(i=0;x[i]!='';i++){
  if(x[i]==y){
   printf("%c는 a의 %d번재에 위치해 있습니다.n",y,i+1);
   return (1);
  }
 }
 printf("문자 %c는 없습니다.n",y);
 return -1;
}
 
main(){
 char a[100]="abcd efg",b[100];
 printf("************************프로그램 사용방법 ************************n");
 printf("* 삭제시:del c       (a의 문자열중 c 가 삭제됨)                  *n");
 printf("* 삽입시:ist c z     (문자 c뒤에 z가 삽입됨)                     *n");
 printf("* 번째수 알아보기: adr c (c가 몇번째 있는지 정수출력)            *n");
 printf("* 프로그램 종료 : exit                                           *n");
 printf("*                                           비트캠퍼스 강의자료  *n");
 printf("******************************************************************n");
 printf("처음 a 값:%sn",a);
 
 for(;;){
  printf("n 명령을 내리시오:");
  my_gets(b);
  if(b[0]=='d' && b[1]=='e'&& b[2]=='l' && b[3]==' ')
   del(a,b[4]);
  else if(b[0]=='i' && b[1]=='s'&& b[2]=='t' && b[3]==' ')
   ist(a,b[4],b[6]);
  else if(b[0]=='a' && b[1]=='d'&& b[2]=='r' && b[3]==' ')
   adr(a,b[4]);
  else if(b[0]=='e' && b[1]=='x'&& b[2]=='i' && b[3]=='t')
   break;
  else
   printf("제대로 입력 하시요n");
 }
}

 
출처 : 비트캠퍼스
Posted by 용학도리
,