/*******************************************************************/ // Num-to-Word v1.0 // // May be used as under the GPLv2 license // // Coded by KillerJ59J // /*******************************************************************/ #include main() { char *ones[] = {"","one","two","three","four","five","six","seven","eight","nine"}; char *eles[]= {"ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"}; char *tens[]={"twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety"}; printf("Use this program to convert a number to it's word form.\n To exit type 0 and click enter.\n"); int num,dnum,go=1; while(go){ printf("Enter number <=1000:"); scanf("%d",&num); dnum=num; if (dnum < 0)dnum = -dnum; int digits = 1; dnum = dnum/10; while( dnum > 0) { digits++; dnum = dnum/10; } if(num==0)go=0; if(num<1||num>1000)digits=0; if(num==1000) { printf("\nonethousand"); digits=0; } switch(digits) { case 0: break; case 1: printf("\n"); printf("%s",ones[num]); break; case 2: printf("\n"); if(num>=10&&num<20) { int one=num-10; printf("%s",eles[one]); } if(num>=20) { int one=num; while(one>=10)one=one-10; int ten=num; ten=ten-one; ten=ten/10; printf("%s",tens[ten-2]); printf("%s",ones[one]); } break; case 3: printf("\n"); int elv=num,teen=0; while(elv>=100)elv=elv-100; if(elv>=10&&elv<20) { elv=elv-10; teen=1; } int one=num; while(one>=10)one=one-10; int ten=num; ten=ten-one; while(ten>=100)ten=ten-100; ten=ten/10; int hundred=num; hundred=hundred-ten; hundred=hundred-one; hundred=hundred/100; printf("%s",ones[hundred]); printf("hundred"); if(teen) { printf("%s",eles[elv]); }else if(ten==0){ printf("%s",ones[one]); }else{ printf("%s",tens[ten-2]); printf("%s",ones[one]); } break; default: printf("Sorry, your number was either too high or too low, please try again."); break; } printf("\n"); printf("\n"); } printf("Thanks for using!\nCoded by: KillerJ59J\n"); system("PAUSE"); return 0; }