program in c++ to input digits and print in words



program in c++ to input digits and print in words..

Answer / a_l_soni

#include "stdafx.h"

void PrintDigit (int a);
void PrintTens (int a);
int g_set = 0;

int _tmain(int argc, _TCHAR* argv[])
{
int a = 1216;
int b = a;
int iValue = 1000;
for (int x = iValue; x >= 1 ; x=x/10)
{
int t = b/x;
switch (x)
{
case 1000:
PrintDigit (t);
printf (" Thousand ");
break;
case 100:
PrintDigit (t);
printf (" Hundred ");
break;
case 10:
PrintTens (b);
break;
case 1:
if (g_set == 0)
{
PrintDigit (t);
}
}
b = b%x;
}

getchar ();
return 0;
}

void PrintDigit (int a)
{
switch (a)
{
case 1:
printf ("One");
break;
case 2:
printf ("Two");
break;
case 3:
printf ("Three");
break;
case 4:
printf ("Four");
break;
case 5:
printf ("Five");
break;
case 6:
printf ("Six");
break;
case 7:
printf ("Seven");
break;
case 8:
printf ("Eight");
break;
case 9:
printf ("Nine");
}
}

void PrintTens (int a)
{
int x = a / 10;
if (x > 1)
{
int b = a % 10;
switch(x)
{
case 2:
printf ("Twenty ");
break;
case 3:
printf ("Thirty ");
break;
case 4:
printf ("Fourty ");
break;
case 5:
printf ("Fifty ");
break;
case 8:
printf ("Eighty ");
break;
case 6:
case 7:
case 9:
PrintDigit (x);
printf ("ty ");
break;
}
}
else
{
printf ("and ");
g_set = 1;
int b = a % 10;
switch(b)
{
case 1:
printf ("Eleven");
break;
case 2:
printf ("Twelve");
break;
case 3:
printf ("Thirteen");
break;
case 4:
printf ("Fourteen");
break;
case 5:
printf ("Fifteen");
break;
case 8:
printf ("Eighteen");
break;
case 6:
case 7:
case 9:
PrintDigit (b);
printf ("teen ");
break;
}
}
}


To increase the number of digits, application can handle, increase the value of 'iValue' in main () and add an additional case for the value in the main, above 'case 1000:'.

Please vote and let me know....

Is This Answer Correct ?    14 Yes 11 No

Post New Answer

More C++ General Interview Questions

Describe protected access specifiers?

0 Answers  


In int main(int argc, char *argv[]) what is argv[0] a) The first argument passed into the program b) The program name c) You can't define main like that

0 Answers  


How do you flush a buffer in c++?

0 Answers  


What are the syntactic rules to be avoid ambiguity in multiple inheritance?

0 Answers  


How would you obtain segment and offset addresses from a far address of a memory location?

0 Answers  


How come you find out if a linked-list is a cycle or not?

0 Answers  


What do you mean by C++ access specifiers ?

1 Answers  


What is double in c++?

0 Answers  


What is a class template?

0 Answers  


How the V-Table mechanism works?

6 Answers   HP,


Write syntax to define friend functions in C++.

0 Answers   HAL,


What can c++ be used for?

0 Answers  


Categories