만약 switch( input ) 할떄 input 을 int로 선언하여 숫자로 입력을 받으면
10개고 100개고 ... int 가 허용하는 범위까지는 모두 메뉴로 만들수 있을거다.
이런경우에는 정말 간편하겟지 !
하지만 이런 메뉴에서 문자를 입력하면 무한루프를 돈다..
따라서 이런 메뉴가 아닌 것들에 대한 예외처리를 해줘야하는 프로그램에서는
char input ;
이렇게 선언하여 메뉴를 만들려고 할텐데, 이런경우 char 는 1바이트라
1번 메뉴와 10번, 11번 메뉴는 모두 1로 인식한다. 10번이후에 경우 1+ 0 으로 인식하여
1번메뉴 선택한후, 0을 다시 입력하는 식으로 처리가 된다. ( 맞을걸 ? )
이번에 프로젝트 진행중 하위 메뉴 22개이상을 만들어야 했었는데 ...
결국 하위메뉴로 들여보낸거 10개정도 ... ? 그래도 int로 선언도 못하고 예외처리도 해줘야 했어서
결국엔 .. 어쩔수없이
if, else if 로 일일이 선언해줬다.
char input[2] 이런식으로 하고 ( 메뉴가 두자리수 내에서 가능해서 이렇게 선언)
if( ! strcmp ( input, "1" ) ) 이런식이면 된다. !이 들어가는 이유는 strcmp는 같으면 0을 리턴하기 때문 !
else if ( ! strcmp( input, "2" )) 이렇게 .. 쭈욱 나가면 될듯 ?
더 좋은 방법이 있으면 알고싶다..
if else if else if 계속 쓰는거 정말 귀찮...
'Stupid Computer > 2. C 언어' 카테고리의 다른 글
[C/C++] 난수 생성하기 rand(), srand()함수 사용! 랜덤 숫자 생성하기 ! (0) | 2014.05.29 |
---|---|
[C/C++] Class 사용, 은행 계좌 개설 및 입금, 출금 예제 ! (코드 첨부 ) (0) | 2014.05.28 |
[C/C++] Enum 사용법 , C언어 열거형 사용법 열거형(Enum) (0) | 2014.05.19 |
[C/C++] #ifdef 사용법 ! ifdef, endif 사용법 !! 모드 전환 ! (0) | 2014.05.08 |
[C/C++] Menu 화면 구성 ! if else if ~ ( 메뉴 10개 이상 넘어갈때 ) (0) | 2014.04.24 |
[json/cjson] json_object_is_type 사용법 (0) | 2014.03.06 |
[C/C++/리눅스/자바] Json 사용법 및 사용예제 (0) | 2014.02.28 |
[C/C++] 기본! 컴파일과 빌드~ 차이점 (0) | 2014.02.28 |
[링크에러 LNK2019] C++에서 C 함수 사용하기 (0) | 2014.02.26 |
main(int argc, char* argv) 컴파일 옵션 사용 하는 예제 (0) | 2014.02.24 |