Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[2218] 고수님들 이것좀 가르쳐주세요....please.....
김학래 [] 1065 읽음    2003-03-30 06:52
이 프로그램은 숫자를 입력하면 한글로 나타내주는 건데요.....

문제가 있습니다... ㅜㅜ  -123을 입력하면 (음수 백이십삼)이 출력되어야

하는데요....... (음수 천백이십삼)이라고 출력되는데 밤을새서 해봐도

어디가 문제인지 모르겠어요 ㅜㅜ

고수님들 제발 가르쳐주세요.......

#include <stdio.h>
#include <string.h>

main()
{
          char pp[13],p[13],k[13];
          char *dan={"음수 "};
          char *dan1[]={"","만","억","조"};
          char *dan2[]={"영","일","이","삼","사","오","육","칠","팔","구"};
          char *dan3[]={"","십","백","천"};
          int a=0,i,c=0,z=0;
          int kk[13];
back1:;
          printf("숫자를 입력하세요[부호포함13자리이하] :\n ");
          gets(pp);

          a = strlen(pp);
          if(a>13){
              printf("13자리이하로 입력하세요..^^\n");
              goto back1;
          }
          for(i=a-1;i>=1;i--){
              if(pp[i]<0x30 || pp[i]>0x39){
                  printf("입력하신 데이터는 숫자가 아닙니다.\n");
                  goto back1;
              }
          }
          if(pp[0]=='-'){
            printf("%s",dan);
            for(i=0;i<=a-1;i++)
                p[i]=pp[i];}
          else{
            for(i=0;i<=a-1;i++)
                p[i]=pp[i];
          }
          while(p[a-1]=='0'){
            a--;
            if(a==0){
                printf("%s",dan2[0]);
                break;}
          }
          c=a;
          for(i=0;i<=a-1;i++){
            z=a%4;
            if(p[i]=='1' && i==a-1)
                printf("%s",dan2[1]);
            else if(p[i]=='2')
                printf("%s",dan2[2]);
            else if(p[i]=='3')
                printf("%s",dan2[3]);
            else if(p[i]=='4')
                printf("%s",dan2[4]);
            else if(p[i]=='5')
                printf("%s",dan2[5]);
            else if(p[i]=='6')
                printf("%s",dan2[6]);
            else if(p[i]=='7')
                printf("%s",dan2[7]);
            else if(p[i]=='8')
                printf("%s",dan2[8]);
            else if(p[i]=='9')
                printf("%s",dan2[9]);
            if(z==0){
                if(i%4==2 && p[i]!='0')
                  printf("%s",dan3[1]);
                else if(i%4==1 && p[i]!='0')
                  printf("%s",dan3[2]);
                else if(i%4==0 && p[i]!='0')
                  printf("%s",dan3[3]);}
            if(z==1){
                if(i%4==1 && p[i]!='0')
                  printf("%s",dan3[3]);
                else if(i%4==2 && p[i]!='0')
                  printf("%s",dan3[2]);
                else if(i%4==3 && p[i]!='0')
                  printf("%s",dan3[1]);}
            if(z==2){
                if(i%4==3 && p[i]!='0')
                  printf("%s",dan3[2]);
                else if(i%4==2 && p[i]!='0')
                  printf("%s",dan3[3]);
                else if(i%4==0 && p[i]!='0')
                  printf("%s",dan3[1]);}
            if(z==3){
                if(i%4==3 && p[i]!='0')
                  printf("%s",dan3[3]);
                else if(i%4==1 && p[i]!='0')
                  printf("%s",dan3[1]);
                else if(i%4==0 && p[i]!='0')
                  printf("%s",dan3[2]);}
            c--;
            if(c==12)
                printf("%s",dan1[3]);
            else if(c==8)
                printf("%s",dan1[2]);
            else if(c==4)
                printf("%s",dan1[1]);
          }
}

+ -

관련 글 리스트
2218 고수님들 이것좀 가르쳐주세요....please..... 김학래 1065 2003/03/30
2228     Re:고수님들 이것좀 가르쳐주세요....please..... 고황일 1149 2003/04/01
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.