View Single Post
Old Feb 21st, 2005, 4:37 PM   #2
tempest
Programming Guru
 
tempest's Avatar
 
Join Date: Oct 2004
Posts: 1,041
Rep Power: 6 tempest is on a distinguished road
Send a message via ICQ to tempest Send a message via AIM to tempest Send a message via Yahoo to tempest
char *convert(int answer)
{
int j=0;
char numeral[20];

	// Calculate M's
   while((answer-1000)>=0)
   {
	answer=answer-1000;
	numeral[j++]='M';
   }

   if(answer>=900)
   {
   numeral[j++]='C';
   numeral[j++]='M';
   answer=answer-900;
   }

   // Calculate D's

	while((answer-500)>=0)
	{
   answer=answer-500;
	numeral[j]='D';
   j++;
   }

   if(answer>=400)
   	{
   	numeral[j++]='C';
   	numeral[j++]='D';
   	answer=answer-400;
   	}

   // Calculate C's

	while((answer-100)>=0)
   {
	answer=answer-100;
	numeral[j++]='C';
   }

   if(answer>=90)
   {
   numeral[j++]='X';
   numeral[j++]='C';
   answer=answer-90;
   }

   //Calcalute L's

while((answer-50)>=0)
   	{
	answer=answer-50;
	numeral[j++]='L';
   }

   if(answer>=40)
   {
   numeral[j++]='X';
   numeral[j++]='L';
   answer=answer-40;
   }

   // Calculate X's

   while((answer-10)>=0)
	{
	answer=answer-10;
	numeral[j++]='X';
   }

   if (answer==9)
   {
   numeral[j++]='I';
   numeral[j++]='X';
   answer=answer-9;
   }

   // Calculate V's

   while((answer-5)>=0)
	{
	answer=answer-5;
	numeral[j++]='V';
   }

   if(answer==4)
   {
   numeral[j++]='I';
   numeral[j++]='V';
   answer=answer-4;
   }

   // Calculate j's

while((answer-1)>=0)
   {
	answer=answer-1;
	numeral[j++]='I';
   }

   numeral[j]  = '\0';
   printf("\n");
   return numeral;
}

Example:

char retFromFunc[20];
strcpy(retFromFunc, convert(3));
__________________

tempest is offline   Reply With Quote