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

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

QA

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

답변 1

본문

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;
}
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 88
© SIRSOFT
현재 페이지 제일 처음으로