Hi guys, I posted this same problem in the General C++ Forum, but I thought it should be in the beginner's forum because this is one of my first c++ assignments.
Anyways, I'm trying to make a code that inputs a number and outputs it in words.
This is the code. It works, but when it reaches a thousand, for example, 8450, it only says four hundred fifty.
//assign_1_12_numberestowords.cpp
//Dishant Patel
//
//This program will take a number of maximum 5 digits, postive or negative, and display the number written out in words.
#include <iostream>
usingnamespace std;
int main()
{
cout << "Please enter an integer" << endl;
int num, numhund, numthou, numtenthou, numhundthou, numten;//the number is split into different values that represent each digit
cin>>num;
if (num<0)//ensures that if num is nugative, then it mentions that
{
cout<<"negative ";
num=-num;
}
numhundthou=num/100000;
num=num%100000;
numtenthou=num/10000;
if (numtenthou<2)
{
numthou=num%100;
}
else
{
num=num%10000;
numthou=num/1000;
}
num=num%1000;
numhund=num/100;
num=num%100;
numten=num/10;
if (numten>2)
{
num=num%10;
}
if((numthou!=0)||(numhundthou!=0)||(numtenthou!=0))
{
if (numhundthou!=0)
{
switch (numhundthou)//Case Values begin.
{
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;
}
cout<<"hundred " << endl;
}
if ((numtenthou>=1)&&(numtenthou<=9))
{
switch (numtenthou)
{
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;
cout<<" ";
break;
}
switch (numthou)
{
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;
cout<<" ";
break;
}
cout<<"thousand ";
}
if ((numtenthou!=0)&&(numtenthou<2))
{
switch(numthou)
{
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;
cout<<" ";
break;
}
cout<<"thousand ";
}
}
if(numhund!=0)
{
switch (numhund)
{
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;
cout<<" ";
}
cout<<"hundred ";
}
if ((numten>=2)&&(numten<=9))
{
switch (numten)
{
case 1:
cout<<"ten ";
break;
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;
cout<<" ";
break;
}
switch (num)
{
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;
cout<<" ";
break;
}
}
if ((num>=10)&&(num<=19))
{
switch (num)
{
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;
}
}
return 0;
}
Please if you can take a look at it and tell me what the problem is, that would be great. Thank You in advance!