Converting Integers to Characters 4 digits

This is what i have so far but when i try to put in more numbers like 123 i only get one-hundred i need to get one-hundred twenty three
I havent gotten the chance to write out the thousands cause i can't get the Hundreds to show up

#include <iostream>
#include <math.h>
#include <cmath>
#include <string>
#include <sstream>

using namespace std;



int main()
{
int num;
int ones_digit;
int tens_digit;
int hundreds_digit;

cout<<"Enter digits\n\n";
cin>> num;
cin.ignore();

string num2;
stringstream out;
out << num;
num2 = out.str();
num2.length();

ones_digit = num%10;
tens_digit = num%100;
hundreds_digit = num%1000;
thousands_digit = num%10000;

if ((num >= 0) && (num <=19))
{
switch(ones_digit)
{
case 0: cout<<"Zero";
break;

case 1: cout<<"One";
break;

case 2: cout<<"Two";
break;

case 3: cout<<"Three";
break;

case 4: cout<<"Four";
break;

case 5: cout<<"Five";
break;

case 6: cout<<"Six";
break;

case 7: cout<<"Seven";
break;

case 8: cout<<"Eight";
break;

case 9: cout<<"Nine";
break;

case 10: cout<<"Ten";
break;

case 11: cout<<"Eleven";
break;

case 12: cout<<"Twelve";
break;

case 13: cout<<"Thirteen";
break;

case 14: cout<<"Fourteen";
break;

case 15: cout<<"Fifteen";
break;

case 16: cout<<"Sixteen";
break;

case 17: cout<<"Seventeen";
break;

case 18: cout<<"Eighteen";
break;

case 19: cout<<"Nineteen";
break;

default: cout<<"Error";
break;
}
}

if((num2.length() >= 3) && ((num >= 100) && (num <=999)))
{
switch(hundreds_digit)
{
case 0: cout<<"";
break;

case 1: cout<<"One-Hundred";
break;

case 2: cout<<"Two-Hundred";
break;

case 3: cout<<"Three-Hundred";
break;

case 4: cout<<"Four-Hundred";
break;

case 5: cout<<"Five-Hundred";
break;

case 6: cout<<"Six-Hundred";
break;

case 7: cout<<"Seven-Hundred";
break;

case 8: cout<<"Eight-Hundred";
break;

case 9: cout<<"Nine-Hundred";
break;

default: cout<<"Error";
break;
}

}

if((num2.length() == 2) && ((num >= 20) && (num <=99)))
{
switch(tens_digit)
{
case 2: cout<<"Twenty";
break;

case 3: cout<<"Thirty";
break;

case 4: cout<<"Forty";
break;

case 5: cout<<"Fifty";
break;

case 6: cout<<"Sixty";
break;

case 7: cout<<"Seventy";
break;

case 8: cout<<"Eighty";
break;

case 9: cout<<"Ninety";
break;

}
switch (ones_digit)
{
case 0:
cout << " ";
break;
case 1:
cout << "-one";
break;
case 2:
cout << "-two";
break;
case 3:
cout << "-three";
break;
case 4:
cout << "-four";
break;
case 5:
cout << "-five";
break;
case 6:
cout << "-six";
break;
case 7:
cout << "-seven";
break;
case 8:
cout << "-eight";
break;
case 9:
cout << "-nine";
break;
default:
cout << "Error";
}
}

cout<<"\n";
system("Pause");
return 0;
}
Topic archived. No new replies allowed.