c·c++/c 프로그래밍

대소문자 변환, main의 순환 호출

바로이순간 2012. 3. 31. 09:47

#include <stdio.h> 

#include <string.h>


int sel;       // 모드 선택 

int i=0;       // 인덱스

char buf[256]; // 입력버퍼


int main() {

 

  printf("\n=========================================\n");

  printf("문장의 대소문자를 변환하는 프로그램입니다.\n");

  printf("=========================================\n");

  printf("사용할 모드를 선택해 주세요\n");

  printf ("[1] 문장의 대/소문자 변환 [0] 종료: "); //인트로

 

  scanf("%d",&sel); // 모드 선택값 입력

 

  switch(sel) {

    case 1: {

      printf("문장의 대/소문자를 변환합니다.\n");

      printf("문장을 입력하세요 : ");


      fflush(stdin);

      gets(buf);   // 문장을 받음


      i=0;

      while(buf[i]) {

        if('A'<=buf[i]&&buf[i]<='Z') {

          buf[i]=buf[i]+32;

        }       // 대문자일때 소문자로 변환

        else if('a'<=buf[i]&&buf[i]<='z') {

          buf[i]=buf[i]-32;

        }       // 소문자일때 대문자로 변환

        i=i+1;

      }

      puts(buf);

      break;

    }

    

    case 0: {

      printf("종료합니다.\n");

      return 0;

    }

    default: {

      printf("잘못 입력하셨습니다. 다시 입력하세요. :");

      scanf("%d", &sel);

    }

  }

 

  return main();

}