Doing a Printing out Integers in String Format . Like 55 to Fifty five
Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/*
*
*/
int main(void ) {
char stringEnteredVar[8];
char stringUnitsVar[][10] = { "Zero","One", "Two", "three", "four", "five", "six", "seven", "Eight", "nine" };
char stringTensVar[][10] = { "Tens","eleven", "twell", "thirteen", "fourteen", "fiofteen", "sixteen", "seventeen", "eiughtteen", "ninteen" };
char stringAbove20[][10]= { "TWenty", "Thirty", "forty", "fifty", "sixty", "sevety", "eighty", "ninghty" };
char stringHundred[] = {"Hundred"};
char stringThousand[] = {"Thousand"};
printf( "Enter a Number that is less than 1000:" );
scanf ( "%s", stringEnteredVar );
printf ( "%d , %d\n", strlen(stringEnteredVar) , atoi( stringEnteredVar) );
if ( strlen(stringEnteredVar) == 1 && atoi( stringEnteredVar) <= 9 )
{
printf ( "UNITS:%s\n" , stringUnitsVar[atoi(stringEnteredVar)]);
printf ( "Unit\n" );
}
else if ( strlen(stringEnteredVar) == 2 && atoi( stringEnteredVar ) <= 19)
{
printf ( "TENS:%s\n" , stringTensVar[atoi(stringEnteredVar)-10]);
}
else if ( strlen(stringEnteredVar) == 2 && (atoi( stringEnteredVar ) >= 20 && atoi( stringEnteredVar) <= 99) )
{
char charFirst, charSecound ;
charFirst = charSecound = '\0';
charFirst = stringEnteredVar[0];
charSecound = stringEnteredVar[1];
printf ( "\n%d %d\n",atoi(&charFirst) , atoi(&charSecound) );
printf ( "%s", stringAbove20[atoi(&charFirst)-2], );
printf ( "%s", stringUnitsVar[atoi(&charSecound)] ) ;
}
else if ( strlen( stringEnteredVar ) == 3 && atoi( stringEnteredVar) >=100 && atoi ( stringEnteredVar) <= 999 )
{
char charFirst, charSecound , charThird ;
charFirst = stringEnteredVar[0];
charSecound = stringEnteredVar[1];
charThird = stringEnteredVar[2];
// printf ( "%s%s and %s%s\n", stringUnitsVar[]
printf ( "hundreds : %c , %c , %c \n", charFirst, charSecound , charThird );
}
return (0);
}
sorry Forgot to Add what the rror was
Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/*
*
*/
int main(void ) {
char stringEnteredVar[8];
char stringUnitsVar[][10] = { "Zero","One", "Two", "three", "four", "five", "six", "seven", "Eight", "nine" };
char stringTensVar[][10] = { "Tens","eleven", "twell", "thirteen", "fourteen", "fiofteen", "sixteen", "seventeen", "eiughtteen", "ninteen" };
char stringAbove20[][10]= { "TWenty", "Thirty", "forty", "fifty", "sixty", "sevety", "eighty", "ninghty" };
char stringHundred[] = {"Hundred"};
char stringThousand[] = {"Thousand"};
printf( "Enter a Number that is less than 1000:" );
scanf ( "%s", stringEnteredVar );
printf ( "%d , %d\n", strlen(stringEnteredVar) , atoi( stringEnteredVar) );
if ( strlen(stringEnteredVar) == 1 && atoi( stringEnteredVar) <= 9 )
{
printf ( "UNITS:%s\n" , stringUnitsVar[atoi(stringEnteredVar)]);
printf ( "Unit\n" );
}
else if ( strlen(stringEnteredVar) == 2 && atoi( stringEnteredVar ) <= 19)
{
printf ( "TENS:%s\n" , stringTensVar[atoi(stringEnteredVar)-10]);
}
else if ( strlen(stringEnteredVar) == 2 && (atoi( stringEnteredVar ) >= 20 && atoi( stringEnteredVar) <= 99) )
{
char charFirst, charSecound ;
charFirst = charSecound = '\0';
charFirst = stringEnteredVar[0];
charSecound = stringEnteredVar[1];
printf ( "\n%d %d\n",atoi(&charFirst) , atoi(&charSecound) );
printf ( "%s", stringAbove20[atoi(&charFirst)-2] );
printf ( "%s", stringUnitsVar[atoi(&charSecound)]) ;
}
else if ( strlen( stringEnteredVar ) == 3 && atoi( stringEnteredVar) >=100 && atoi ( stringEnteredVar) <= 999 )
{
char charFirst, charSecound , charThird ;
charFirst = stringEnteredVar[0];
charSecound = stringEnteredVar[1];
charThird = stringEnteredVar[2];
// printf ( "%s%s and %s%s\n", stringUnitsVar[]
printf ( "hundreds : %c , %c , %c \n", charFirst, charSecound , charThird );
}
return (0);
}
The Third Else if is sappose to print out the 2 Strings ..
For example if I put in 55 .. it should print out fifty Five .
Thou this dosnt seem to hapen i have looked around the ocde and havmnt spotted a problem .
This isnt a University question . i got this question from the C beginners to Novice book by APRESS .
Thanks
Karan