// Exercise 5.46 Solution
// NOTE: THAT THIS PROGRAM ONLY HANDLES VALUES UP TO $99.99
// The program is easily modified to process larger values
#include <iostream.h>
int main()
{
const char *digits[ 10 ] = { "", "ONE", "TWO", "THREE", "FOUR", "FIVE",
"SIX", "SEVEN", "EIGHT", "NINE" };
const char *teens[ 10 ] = { "TEN", "ELEVEN", "TWELVE", "THIRTEEN",
"FOURTEEN", "FIFTEEN", "SIXTEEN",
"SEVENTEEN", "EIGHTEEN", "NINETEEN"};
const char *tens[ 10 ] = { "", "TEN", "TWENTY", "THIRTY", "FORTY", "FIFTY",
"SIXTY", "SEVENTY", "EIGHTY", "NINETY" };
int dollars, cents, digit1, digit2;
cout << "Enter the check amount (0.00 to 99.99): ";
cin >> dollars;
cin.ignore();
cin >> cents;
cout << "The check amount in words is:\n";
if ( dollars < 10 )
cout << digits[ dollars ] << ' ';
else if ( dollars < 20 )
cout << teens[ dollars - 10 ] << ' ';
else {
digit1 = dollars / 10;
digit2 = dollars % 10;
if ( !digit2 )
cout << tens[ digit1 ] << ' ';
else
cout << tens[ digit1 ] << "-" << digits[ digit2 ] << ' ';
}
cout << "Dollars and " << cents << "/100" << endl;
return 0;
}