i forgot how to properly do this. i have a variable i am creating locally and returning, but i was given warnings about that, and i forget how to write the code properly to remove this warning.
char *intToRoman( int value )
{
char result[MAX_STRING_LENGTH];
result[0] = '\0';
if ( value <= 0 )
return result;
while ( value > 0 )
{
if ( value >= 1000 )
{
strcat( result, "M" );
value -= 1000;
}
else if ( value >= 900 )
{
strcat( result, "CM" );
value -= 900;
}
else if ( value >= 500 )
{
strcat( result, "D" );
value -= 500;
}
else if ( value >= 400 )
{
strcat( result, "CD" );
value -= 400;
}
else if ( value >= 100 )
{
strcat( result, "C" );
value -= 100;
}
else if ( value >= 90 )
{
strcat( result, "XC" );
value -= 90;
}
else if ( value >= 50 )
{
strcat( result, "L" );
value -= 50;
}
else if ( value >= 40 )
{
strcat( result, "XL" );
value -= 40;
}
else if ( value >= 10 )
{
strcat( result, "X" );
value -= 10;
}
else if ( value >= 9 )
{
strcat( result, "IX" );
value -= 9;
}
else if ( value >= 5 )
{
strcat( result, "V" );
value -= 5;
}
else if ( value >= 4 )
{
strcat( result, "IV" );
value -= 4;
}
else
{
strcat( result, "I" );
value--;
}
}
return result;
}