== 느낀점 == 오랜만에 하는거라 -_-;; C++로 해볼라고 했으나; 너무많은 에러로 좌절하고 걍 씨로 했다.. 으윽 -_-... 글구 num2str 요함수.. 걍 수민이한것처럼 배열로 하면 되는데; 괜히 switch로 했다 ㅠㅠ 엉엉 == 소스 == {{{~cpp #include #include #define TRUE 1 #define FALSE 0 char* num2str(int num); //숫자를 문자로 변경시켜줍니다. int is_numarray(char getdata[]); //char 배열의 요소가 숫자인지 확인 - 맞으면 TRUE 리턴 void inputdata(char *getdata); // 5자리이하 숫자를 문자로 getdata에 배열로 입력받기 void prtkor(char *getdata); int main(int argc, char* argv[]) { char getdata[6]; //입력 inputdata(getdata); //출력 prtkor(getdata); printf("\n"); return 0; } // 5자리이하 숫자를 문자로 getdata에 배열로 입력받기 void inputdata(char *getdata) { do{ //숫자 입력받기 printf("숫자 5자리를 입력해주세요 >> "); gets(getdata); if(strlen(getdata)>5) continue; //숫자인가? if(!is_numarray(getdata)) continue; //모든 조건이 참이면 빠져나감. break; } while(1); } //숫자를 문자로 변경시켜줍니다. char* num2str(int num) { char* str; switch(num) { case 1: str = "일"; break; case 2: str = "이"; break; case 3: str = "삼"; break; case 4: str = "사"; break; case 5: str = "오"; break; case 6: str = "육"; break; case 7: str = "칠"; break; case 8: str = "팔"; break; case 9: str = "구"; break; } return str; } //char 배열의 요소가 숫자인지 확인 - 맞으면 TRUE 리턴 int is_numarray(char getdata[]) { // 48 ~ 57 unsigned int i=0; do{ if(getdata[i]<48 || getdata[i]>57) return FALSE; i++; } while(i <= strlen(getdata)-1 ); return TRUE; } void prtkor(char *getdata) { char* jari[5] ={"","십","백","천","만"}; int i,pjari=0; for( i=0 ; i<(int)strlen(getdata) ; ++i){ // 현재 자리가 0이면 말하지 않는다. if(getdata[i] != '0') { //첫자리 일은 말하지 않는다. if(!(i==0 && getdata[i] == '1')){ printf("%s",num2str(getdata[i]-48)); } //현재 자리 출력(십,백,천,만...) printf("%s",jari[strlen(getdata)-pjari-1]); } pjari++; } } }}} == 나에게 할말 == 스위치문 압박이얌..;;ㅁ;; 이게 모햐~~>ㅃ<;;; ㅎㅎ 그거 빼고는 다 이쁘넹!~헤...ㅎ 그런데 말야.^^ 수민이꺼나 네꺼 0넣으면 답이 안나오쟈넝..;;ㅁ;; 0이 불쌍해..ㅠ.ㅜ ㅎㅎㅎ 그거빼고는 다 잘해떵..ㅎㅎ 나도 쓰잘때기없는 그 클래스 뺄껄.ㅎ 괜히 넣었어..편하게 짤려다가 더 복잡해 보이는걸~ㅎ ㅎㅎㅎ 그럼 좋은하루~~>ㅁ<;; - 현태 글게말이다 ㅠㅠ 내가 왜 저리 해두었는지 나두 쫌 뻘쭘하다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 걍 배열로 저리 해두면 됐는데.. 음 글고보니 영만 땡 치면 아무것도 안나오겠구나 ㅠㅠ 나두 언넝 클래스 배워서 소스 좀 깔쌈하게 짜고 싶은데 아직 안배워서 ㅠㅠ - zyint ---- [LittleAOI] [숫자를한글로바꾸기]