[C++] -999,999~999,999 사이의 수를 영어 텍스트로 바꾸기

2020. 4. 25. 15:12·프로그래밍 공부/Jumping into C++

#include  <iostream>
using namespace std;
void printer_more(int num);
void printer_less(int num);
void print_less_hund(int num);
void print_less_ten(int num);

int main() {
int num;


cout << "수를 입력하세요 : ";
cin >> num;

//음수양수 판단
if (num<0) 
{
cout << "-"; 
num=-num;
}


int i=0;//자릿수 
int tmp;//임시변수 
tmp=num;

while(tmp!=0)
{
tmp=tmp/10;
i++;
}



int num_more, num_less;//두 개로 쪼갠다. 

num_more = num / 1000;//123
num_less = num % 1000;//456      one hundred twenty-three thousand four hundred fifty-six
if (i>3)
{
printer_more(num_more);
printer_less(num_less);
}
else
{
printer_less(num_less);

}


return 0;

}
void printer_more(int num){

if (num < 20)//20보다 작을 때 
{
if (num == 1) cout << " one";
if (num == 2) cout << " two";
if (num == 3) cout << " three";
if (num == 4) cout << " four";
if (num == 5) cout << " five";
if (num == 6) cout << " six";
if (num == 7) cout << " seven";
if (num == 8) cout << " eight";
if (num == 9) cout << " nine";
if (num == 10) cout << " ten";
if (num == 11) cout << " eleven";
if (num == 12) cout << " twelve";
if (num == 13) cout << " thirteen";
if (num == 14) cout << " fourteen";
if (num == 15) cout << " fifteen";
if (num == 16) cout << " sixteen";
if (num == 17) cout << " seventeen";
if (num == 18) cout << " eighteen";
if (num == 19) cout << " nineteen";
}
else if (num <100)
{
print_less_hund(num);
print_less_ten(num);
}
else
{
if (num == 100) cout << " one hundred";
else
{
print_less_ten(num/100);
cout << " hundred";
print_less_hund(num%100);
print_less_ten(num%10);

}
}

cout << " thousand";

}

void printer_less(int num){

if (num < 20)//20보다 작을 때 
{
if (num == 1) cout << " one";
if (num == 2) cout << " two";
if (num == 3) cout << " three";
if (num == 4) cout << " four";
if (num == 5) cout << " five";
if (num == 6) cout << " six";
if (num == 7) cout << " seven";
if (num == 8) cout << " eight";
if (num == 9) cout << " nine";
if (num == 10) cout << " ten";
if (num == 11) cout << " eleven";
if (num == 12) cout << " twelve";
if (num == 13) cout << " thirteen";
if (num == 14) cout << " fourteen";
if (num == 15) cout << " fifteen";
if (num == 16) cout << " sixteen";
if (num == 17) cout << " seventeen";
if (num == 18) cout << " eighteen";
if (num == 19) cout << " nineteen";
}
else if (num <100)
{
print_less_hund(num);
print_less_ten(num);

}
else
{
if (num == 100) cout << " one hundred";
else
{
print_less_ten(num/100);
cout << " hundred";
print_less_hund(num%100);
print_less_ten(num%10);

}

}


}


void print_less_hund(int num){
if (num > 19 && num < 30) cout << " twenty";

if (num > 29 && num < 40) cout << " thirty";

if (num > 39 && num < 50) cout << " fourty";

if (num > 49 && num < 60) cout << " fifty";

if (num > 59 && num < 70) cout << " sixty";

if (num > 69 && num < 80) cout << " seventy";

if (num > 79 && num < 90) cout << " eighty";

if (num > 89 && num < 100) cout << " ninety";

}

void print_less_ten(int num){
  if (num == 1) cout << " one";
if (num == 2) cout << " two";
if (num == 3) cout << " three";
if (num == 4) cout << " four";
if (num == 5) cout << " five";
if (num == 6) cout << " six";
if (num == 7) cout << " seven";
if (num == 8) cout << " eight";
if (num == 9) cout << " nine";
}

저작자표시 (새창열림)

'프로그래밍 공부 > Jumping into C++' 카테고리의 다른 글

[C++] 143p 배열 실습문제 1,2  (0) 2020.11.11
[C++] 소수인지 판별해 출력하는 프로그램  (0) 2020.11.10
[C++] 2인용 틱택토 게임  (0) 2020.05.02
[C++] 값을 넘겨받아 가장 높은 값과 가장 낮은 값, 값들의 평균을 출력한 뒤에 한 행에 하나씩 출력하는 프로그램  (0) 2020.05.02
[C++]1에서 1000까지의 수 중에서 소인수들의 합이 소수인 수를 찾아내는 프로그램  (0) 2020.04.25
'프로그래밍 공부/Jumping into C++' 카테고리의 다른 글
  • [C++] 소수인지 판별해 출력하는 프로그램
  • [C++] 2인용 틱택토 게임
  • [C++] 값을 넘겨받아 가장 높은 값과 가장 낮은 값, 값들의 평균을 출력한 뒤에 한 행에 하나씩 출력하는 프로그램
  • [C++]1에서 1000까지의 수 중에서 소인수들의 합이 소수인 수를 찾아내는 프로그램
Rocketbabydolls
Rocketbabydolls
Rocketbabydolls
  • Rocketbabydolls
    With The Lights Out
    Rocketbabydolls
  • 전체
    오늘
    어제
    • 전체글 (184)
      • 프로그래밍 공부 (117)
        • C (16)
        • Jumping into C++ (9)
        • MFC (C++) (1)
        • 자료구조 (1)
        • 알고리즘 (1)
        • 백준 (C++) (74)
        • 핸즈온 머신러닝 2판 (6)
        • Unseen 3기 준비 (4)
        • 원티드 포텐업 게임 개발자 양성과정 2기 (4)
      • 언리얼엔진5 (63)
        • [Part1] 이득우의 언리얼 프로그래밍 (12)
        • [Part2] 이득우의 언리얼 프로그래밍 (2)
        • [Part2 복습] 이득우의 언리얼 프로그래밍 (3)
        • [Part3] 이득우의 언리얼 프로그래밍 (14)
        • [Part4] 이득우의 언리얼 프로그래밍 (0)
        • FPS 게임 1인 프로젝트 (6)
        • 각종 지식 (11)
        • 블루프린트 Paper2D 로 게임 만들기 (14)
        • 팀 프로젝트 (1)
      • 일상 (1)
      • ETC (1)
        • 맥북 (1)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      언리얼엔진5
      핸즈온 머신러닝 2판
      언리얼엔진 eqs 커스텀
      실전 C프로그래밍 나중채
      실전C프로그래밍
      언리얼엔진5 fps 프로젝트
      실전 C프로그래밍 실습문제
      핸즈온 머신러닝
      오블완
      C언어 실습문제
      실전C프로그래밍 실습문제
      언리얼엔진 eqs c++
      실전C프로그래밍 나중채
      c언어
      티스토리챌린지
      실전 C프로그래밍
      c++ 17298
      언리얼엔진 eqs generator
      실전 C 프로그래밍
      언리얼엔진
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    Rocketbabydolls
    [C++] -999,999~999,999 사이의 수를 영어 텍스트로 바꾸기
    상단으로

    티스토리툴바