//program to accept amount and to print it in wor
#include<stdio.h>
#include<conio.h>
#include<values.h>
void printsingles(int);
void printtenths(int);
void printthousands(int);
void printlacks(int);
int main()
{
long int num,left;
int tens,hundreds,thousands;
clrscr();
printf("Enter an Integer Number [Maximum %ld ] ",MAXLONG);
scanf("%ld",&num);
if(num<0) //if negative
{
printf("Minus");
left=num* (-1); //convert into +ve
}
else
left=num;
do
{
if(left<20)
{
printsingles(left);
left=0;
}
else if(left<100)
{
tens=left/10;
printtenths(tens*10);
left-=(tens*10);
}
else if(left<1000)
{
hundreds=left/100;
printsingles(hundreds);
printf(" Hundred");
left-=(hundreds*100);
if(left>0) printf(" and");
}
else if (left<10000)
{
thousands=left/1000;
printsingles(thousands);
printf(" Thousand");
left-=(thousands*1000);
if(left>0) printf(" and");
}
else if (left<100000L)
{
thousands=left/1000;
printthousands(thousands);
printf(" Thousand");
left-=(long)(thousands*1000L);
if(left>0) printf(" and");
}
else if (left<100000000L)
{
int lacks;
lacks=left/100000L;
printlacks(lacks);
printf(" Lacks");
left-=(long)(lacks*100000L);
if(left>0) printf(" and");
}
else
{
printf("Unable to convert the number %ld into words",num);
break;
}
}
while(left);
getch();
return 0;
}
void printsingles(int num)
{
switch(num)
{
case 0: printf(" Zero");break;
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");break;
case 10: printf(" Ten");break;
case 11: printf(" Eleven");break;
case 12: printf(" Tweleve");break;
case 13: printf(" Thirteen");break;
case 14: printf(" Fourteen");break;
case 15: printf(" Fifteen");break;
case 16: printf(" Sixteen");break;
case 17: printf(" Seventeen");break;
case 18: printf(" Eighteen");break;
case 19: printf(" Ninteen");
}
}
void printtenths(int tens)
{
switch(tens)
{
case 20: printf(" Twenty");break;
case 30: printf(" Thirty");break;
case 40: printf(" Forty");break;
case 50: printf(" Fifty");break;
case 60: printf(" Sixty");break;
case 70: printf(" Seventy");break;
case 80: printf(" Eighty");break;
case 90: printf(" Ninty");break;
}
}
void printthousands(int t)
{
int tens;
if(t<20)
{
printsingles(t);
}
else if(t<100)
{
tens=t/10;
printtenths(tens*10);
t-=(tens*10);
if(t>0) printsingles(t);
}
}
void printlacks(int t)
{
int tens;
if(t<20)
{
printsingles(t);
}
else if(t<100)
{
tens=t/10;
printtenths(tens*10);
t-=(tens*10);
if(t>0) printsingles(t);
}
}