Thursday, October 15, 2015

Program to convert digits into English characters



#include <stdio.h>

void main()
{
    int num, digit,counter;
    int reversed = 0, backupZero = 0;
    clrscr();
    printf("Please enter an integer:\n");
    scanf("%d", &num);

    if (num == 0) // In case the input is just "0"
    {
printf("zero");
    }

    while (num > 0) // Loop to reverse the integer
    {
digit = num % 10;
reversed = (reversed * 10) + digit;

if ((reversed == 0) && (digit == 0)) // If the integer finishes in zero
{
   ++backupZero; // Use this to add extra zeroes later
}

num /= 10;
    }

    while (reversed > 0)
    {
digit = reversed % 10;
reversed /= 10;

switch (digit)
{
   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;

   default:
printf("zero ");
break;
}

    }

    for (counter = 0; counter < backupZero; ++counter) // Prints the extra zeroes at the end
    {
printf("zero ");
--backupZero;
    }

    printf("\n");

    getch();
}

No comments:

Post a Comment