Wednesday, March 2, 2011

Character Arrays and Strings

Write a program that reads the cost of an item in the form RRRR.PP ( Where RRRR denotes Rupees and PP denotes Paise ) and converts the value to a string of words that expresses the numeric value in words. For example, if we input 125.75 , the output should be "ONE HUNDRED TWENTY FIVE AND SEVENTY FIVE PAISE".

#include <stdio.h>
void main()
{
int i=0;
char num[10],c;
clrscr();
printf("Enter the price of an item which should be in format RRRR.PP:");
while(c!='\n')
{
c=getchar();
num[i]=c;
i++;
}
i=i-1;
num[i]='\0';
if(i!=7||num[4]!=46)
{
printf("Wrong Input!");
goto End;
}
switch(num[0])
{
case 49: printf("ONE THOUSAND ");
break;
case 50: printf("TWO THOUSAND ");
break;
case 51: printf("THREE THOUSAND ");
break;
case 52: printf("FOUR THOUSAND ");
break;
case 53: printf("FIVE THOUSAND ");
break;
case 54: printf("SIX THOUSAND ");
break;
case 55: printf("SEVEN THOUSAND ");
break;
case 56: printf("EIGHT THOUSAND ");
break;
case 57: printf("NINE THOUSAND ");
break;
default: printf("\0");
break;
}
switch(num[1])
{
case 49: printf("ONE HUNDRED ");
break;
case 50: printf("TWO HUNDRED ");
break;
case 51: printf("THREE HUNDRED ");
break;
case 52: printf("FOUR HUNDRED ");
break;
case 53: printf("FIVE HUNDRED ");
break;
case 54: printf("SIX HUNDRED ");
break;
case 55: printf("SEVEN HUNDRED ");
break;
case 56: printf("EIGHT HUNDRED ");
break;
case 57: printf("NINE HUNDRED ");
break;
default: printf("\0");
break;
}
switch(num[2])
{
case 50: printf("TWENTY ");
break;
case 51: printf("THIRTY ");
break;
case 52: printf("FORTY ");
break;
case 53: printf("FIFTY ");
break;
case 54: printf("SIXTY ");
break;
case 55: printf("SEVENTY ");
break;
case 56: printf("EIGHTY ");
break;
case 57: printf("NINTY ");
break;
default: printf("\0");
break;
}
if(num[2]>49||num[2]==48)
switch(num[3])
{
case 49: printf("ONE ");
break;
case 50: printf("TWO ");
break;
case 51: printf("THREE ");
break;
case 52: printf("FOUR ");
break;
case 53: printf("FIVE ");
break;
case 54: printf("SIX ");
break;
case 55: printf("SEVEN ");
break;
case 56: printf("EIGHT ");
break;
case 57: printf("NINE ");
break;
default: printf("\0");
break;
}

if(num[2]==49)
switch(num[3])
{
case 49: printf("ELEVEN ");
break;
case 50: printf("TWELVE ");
break;
case 51: printf("THIRTEEN ");
break;
case 52: printf("FOURTEEN ");
break;
case 53: printf("FIFTEEN ");
break;
case 54: printf("SIXTEEN ");
break;
case 55: printf("SEVENTEEN ");
break;
case 56: printf("EIGHTEEN ");
break;
case 57: printf("NINETEEN ");
break;
}
if(num[5]>48||num[6]>49)
switch(num[4])
{
case 46: printf("AND ");
break;
default: printf('\0');
break;
}
switch(num[5])
{
case 50: printf("TWENTY ");
break;
case 51: printf("THIRTY ");
break;
case 52: printf("FORTY ");
break;
case 53: printf("FIFTY ");
break;
case 54: printf("SIXTY ");
break;
case 55: printf("SEVENTY ");
break;
case 56: printf("EIGHTY ");
break;
case 57: printf("NINTY ");
break;
default: printf("\0");
break;
}
if(num[5]>49||num[5]==48)
switch(num[6])
{
case 49: printf("ONE PAISE ");
break;
case 50: printf("TWO PAISE ");
break;
case 51: printf("THREE PAISE ");
break;
case 52: printf("FOUR PAISE ");
break;
case 53: printf("FIVE PAISE ");
break;
case 54: printf("SIX PAISE ");
break;
case 55: printf("SEVEN PAISE ");
break;
case 56: printf("EIGHT PAISE ");
break;
case 57: printf("NINE PAISE ");
break;
default: printf("\0");
break;
}
if(num[5]==49)
switch(num[6])
{
case 49: printf("ELEVEN PAISE");
break;
case 50: printf("TWELVE PAISE");
break;
case 51: printf("THIRTEEN PAISE");
break;
case 52: printf("FOURTEEN PAISE ");
break;
case 53: printf("FIFTEEN PAISE ");
break;
case 54: printf("SIXTEEN PAISE ");
break;
case 55: printf("SEVENTEEN PAISE ");
break;
case 56: printf("EIGHTEEN PAISE ");
break;
case 57: printf("NINETEEN PAISE ");
break;
}
End:
getch();
}

3 comments:

  1. Replies
    1. And yes i hav created the one which accpts any format sir u also try that ..b it r.p or rr.pp or rrr.pp or rrrr.pp

      Delete
  2. This comment has been removed by the author.

    ReplyDelete