Hey I got a question about optimizing a chunk of code, I already tried to make it smaller, but now I am out of ideas for a moment and I thought I'd see how others might do this. So all I want to do is when I pass a function a number I want it to give it a suit and the number as a word, (e.g. 4 => four).
Here's the code:
Code:
void show_card(int num)
{
char suit[100];
char number[100];
//char *display;
if(num < 13)
{
strcpy(suit,"of Spades");
}
else if(num >= 13 && num < 26)
{
strcpy(suit,"of Clubs");
}
else if(num >= 26 && num < 39)
{
strcpy(suit, "of Diamonds");
}
else
{
strcpy(suit,"of Hearts");
}
if(num == 0 || num == 13 || num == 26 || num == 39)
{
strcpy(number, "Two ");
}
else if(num == 1 || num == 14 || num == 27 || num == 40)
{
strcpy(number, "Three ");
}
else if(num == 2 || num == 15 || num == 28 || num == 41)
{
strcpy(number, "Four ");
}
else if(num == 3 || num == 16 || num == 29 || num == 42)
{
strcpy(number, "Five ");
}
else if(num == 4 || num == 17 || num == 30 || num == 43)
{
strcpy(number, "Six ");
}
else if(num == 5 || num == 18 || num == 31 || num == 44)
{
strcpy(number, "Seven ");
}
else if(num == 6 || num == 19 || num == 32 || num == 45)
{
strcpy(number, "Eight ");
}
else if(num == 7 || num == 20 || num == 33 || num == 46)
{
strcpy(number, "Nine ");
}
else if(num == 8 || num == 21 || num == 34 || num == 47)
{
strcpy(number, "Ten ");
}
else if(num == 9 || num == 22 || num == 35 || num == 48)
{ strcpy(number, "Jack ");
}
else if(num == 10 || num == 23 || num == 36 || num == 49)
{
strcpy(number, "Queen ");
}
else if(num == 11 || num == 24 || num == 37 || num == 50)
{
strcpy(number, "King ");
}
else if(num == 12 || num == 25 || num == 38 || num == 51)
{
strcpy(number, "Ace ");
}
cout << " " << number << suit << " ";
}
my apologies for how big it is, but if anyone can help with any tricks or what have you it'd be great, thanks!