Hi,
Here i have attached the program which accepts 999 to 1 and outputs as words.
what here i developed
1. accepts the input
2. reverse the number
3.find the starting index( purpose is where to start that means if input is 56
then we have start from 2, if input is 7 then we have start from 1.
4. iterate the number( get individual digits)
get the text from the char array by the index( here we use digit as index).
#include <stdio.h>
int main()
{
int temp_number,reverse_number=0,digit,number,start_index=0;
char number_string[200] = { "" };
char single_digit[][20] = {
"","one","two","three","four","five","six","seven","eight","nine" };
char tenth_digit[][20] = {
"","","twenty","thirty","fourty","fifty","sixty","seventy","eighty","ninety" };
char ten_plus_digit[][20] = {
"ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"
};
clrscr();
printf("Enter the number ");
scanf("%d:",&number);
temp_number = number;
while(temp_number != 0)
{
digit = temp_number % 10;
reverse_number = (reverse_number * 10) + digit;
temp_number = temp_number/10;
}
if(number >= 100 && number <=999)
{
start_index = 3;
}
else if(number >= 10 && number <=99)
{
start_index = 2;
}
else if(number < 10)
{
start_index = 3;
}
while(reverse_number != 0)
{
digit = reverse_number % 10;
switch(start_index)
{
case 3:
if(digit != 0)
{
strcat(number_string,single_digit[digit]);
strcat(number_string," hundred ");
}
start_index = 2;
break;
case 2:
start_index = 1;
if(digit != 0)
{
if(digit == 1)
{
digit = (reverse_number/ 10 ) % 10;
strcat(number_string,ten_plus_digit[digit]);
strcat(number_string," ");
start_index = 0;
}
else
{
strcat(number_string,tenth_digit[digit]);
strcat(number_string," ");
}
}
break;
case 1:
if(digit != 0)
{
strcat(number_string,single_digit[digit]);
}
start_index = 0;
}
reverse_number = reverse_number / 10;
}
printf("\n %s",number_string);
getch();
}
hope this meets your requirement.
~vishnu~
----- Original Message ----
From: osho ratha <[EMAIL PROTECTED]>
To: [email protected]
Sent: Tuesday, 1 July, 2008 12:59:53 PM
Subject: [c-prog] need a sample programme
hello friends,
i need a sample programme to convert numbers in words in 'C'
for example:
225
two hundred and twenty five.
thanking you,
Bollywood, fun, friendship, sports and more. You name it, we have it on
http://in.promos. yahoo.com/ groups/bestofyah oo/
[Non-text portions of this message have been removed]
Bollywood, fun, friendship, sports and more. You name it, we have it on
http://in.promos.yahoo.com/groups/bestofyahoo/
[Non-text portions of this message have been removed]