#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 |