스위치문 한글문자열 입력받게할순없는건가요?

스위치문 한글문자열 입력받게할순없는건가요?

QA

스위치문 한글문자열 입력받게할순없는건가요?

본문

char c;

 

printf("하나 둘 셋 중 하나를입력하세요. \n");

 

fflush(stdout);

scanf("%c",&c);

 

switch (c) {

   case '하나' : printf("하나\n",c); break;

   case '둘' : printf("둘\n"); break;

   case '셋' : printf("셋\n"); break;

   default : printf("오류"); break;

 }

 

여기서 하나를 입력하면 하나case가 출력되고할려고하는데

한글문자열은받을수없는건가요?

이 질문에 댓글 쓰기 :

답변 1


#include <stdio.h>
#include <string.h>
 
int main()
{
	const char *s[] = {"하나", "둘", "셋"};
	char c[5], str[sizeof(s) * sizeof(s[0])];
 	int i=0, len = sizeof(s)/sizeof(s[0]);
	
	for (; i<len; i++) 
	{
		strcat(str,s[i]);
		strcat(str," ");
	}	
 
	while(1)
	{		
		printf("%s 중 하나를 입력하세요. \n", str);	
		scanf("%s",&c);
	
		for (i=0; i<len; i++) 
		{	
			if (strcmp(s[i], c)==0) 
			{			
				printf("%s \n\n", c);
				break;;
			}			
		}
		if (i>=len)
		{
			printf("오류");
			break;
		}
	}
	return 0;
}
답변을 작성하시기 전에 로그인 해주세요.
전체 129,406 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT