here's the program that's already working.
hope you could help on shortening it.
please? thanks!
Code:
#include<stdio.h>
#include<string.h>
char numin[100];
int pesonum = 0;
int centnum = 0;
int decpoint = 0;
int xcounter = 0;
int ycounter = 0;
void onesplace(char);
void othercase(char);
void tensplace(char);
void hundreds(char);
void thousands(char);
void tenthou(char);
void hundredthou(char);
void millions(char);
void tenmill(char);
void hundredmill(char);
void billions(char);
void tenbill(char);
void hundredbill(char);
int main (void)
{
clrscr();
printf("enter amount: ");
fgets(numin,100,stdin);
do
{
for(xcounter = 0; xcounter<=strlen(numin); xcounter++)
{
if(numin[xcounter] == ',')
{
for(ycounter = xcounter; ycounter<strlen(numin); ycounter++)
{
numin[ycounter] = numin[ycounter+1];
}
}
else
continue;
}
}
while(strpbrk(numin,","));
for(xcounter = 0; xcounter<=strlen(numin); xcounter++)
{
if(numin[0] == '0')
{
for(ycounter = 0; ycounter<strlen(numin); ycounter++)
{
numin[ycounter] = numin[ycounter+1];
}
}
else
break;
}
if(numin[0] == '.')
{
printf("zero ");
}
else if(strlen(numin)>18)
{
printf("Number exceeds limit!");
exit(0);
}
for(xcounter=0; xcounter<strlen(numin); xcounter++)
{
if (numin[xcounter] == '.')
{
pesonum = xcounter - 1;
centnum = xcounter + 1;
decpoint = 1;
break;
}
else
{
pesonum = strlen(numin) - 2;
decpoint = 0;
}
}
switch(pesonum+1)
{
case 12:
hundredbill(numin[pesonum-11]);
case 11:
tenbill(numin[pesonum-10]);
case 10:
if (numin[pesonum-10] == '1')
{
othercase(numin[pesonum-9]);
printf("billion ");
}
else
{
billions(numin[pesonum-9]);
printf("billion ");
}
case 9:
hundredmill(numin[pesonum-8]);
case 8:
tenmill(numin[pesonum-7]);
case 7:
if (numin[pesonum-7] == '1')
{
othercase(numin[pesonum-6]);
printf("million ");
}
else if ((numin[pesonum-7] != '0')||(numin[pesonum-8] != '0')||(numin[pesonum-6] != '0'))
{
millions(numin[pesonum-6]);
printf("million ");
}
case 6:
hundredthou(numin[pesonum-5]);
case 5:
tenthou(numin[pesonum-4]);
case 4:
if (numin[pesonum-4] == '1')
{
othercase(numin[pesonum-3]);
printf("thousand ");
}
else if ((numin[pesonum-4] != '0')||(numin[pesonum-5] != '0')||(numin[pesonum-3] != '0'))
{
thousands(numin[pesonum-3]);
printf("thousand ");
}
case 3:
hundreds(numin[pesonum-2]);
case 2:
tensplace(numin[pesonum-1]);
case 1:
if (numin[pesonum-1] == '1')
{
othercase(numin[pesonum]);
}
else
{
onesplace(numin[pesonum]);
}
}
if(decpoint==1)
{
if((numin[centnum] =='0') && (numin[centnum+1] =='0'))
{
printf("pesos and zero centavos");
}
else if((numin[strlen(numin)-3] == '.') && (numin[strlen(numin)-2] == '0'))
{
printf("pesos and zero centavos");
}
else
{
printf("pesos and ");
tensplace(numin[centnum]);
if (numin[centnum] == '1')
{
othercase(numin[centnum+1]);
}
else
{
onesplace(numin[centnum+1]);
}
printf("centavos");
}
}
else if(decpoint==0)
{
printf("pesos");
}
getch();
return 0;
}
void othercase(char onesplace)
{
switch(onesplace)
{
case '0':
{
printf("ten ");
break;
}
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 '6':
{
printf("sixteen ");
break;
}
case '7':
{
printf("seventeen ");
break;
}
case '8':
{
printf("eighteen ");
break;
}
case '9':
{
printf("nineteen ");
break;
}
}
}
void onesplace(char onesplace)
{
switch(onesplace)
{
case '0':
{
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;
}
}
}
void tensplace(char tensplace)
{
switch(tensplace)
{
case '1':
{
break;
}
case '2':
{
printf("twenty ");
break;
}
case '3':
{
printf("thirty ");
break;
}
case '4':
{
printf("forty ");
break;
}
case '5':
{
printf("fifty ");
break;
}
case '6':
{
printf("sixty ");
break;
}
case '7':
{
printf("seventy ");
break;
}
case '8':
{
printf("eighty ");
break;
}
case '9':
{
printf("ninety ");
break;
}
}
}
void hundreds(char hundreds)
{
if (hundreds != '0')
{
onesplace(hundreds);
printf("hundred ");
}
}
void thousands(char thousands)
{
if (thousands != '0')
{
onesplace(thousands);
}
}
void tenthou(char tenthou)
{
if (tenthou != '0')
{
tensplace(tenthou);
}
}
void hundredthou(char hundredthou)
{
if (hundredthou != '0')
{
hundreds(hundredthou);
}
}
void millions(char thousands)
{
if (thousands != '0')
{
onesplace(thousands);
}
}
void tenmill(char tenmill)
{
if (tenmill != '0')
{
tensplace(tenmill);
}
}
void hundredmill(char hundredmill)
{
if (hundredmill != '0')
{
hundreds(hundredmill);
}
}
void billions(char billions)
{
if (billions != '0')
{
onesplace(billions);
}
}
void tenbill(char tenbill)
{
if (tenbill != '0')
{
tensplace(tenbill);
}
}
void hundredbill(char hundredbill)
{
if (hundredbill != '0')
{
hundreds(hundredbill);
}
}