void generate_deck(card * deck)
{
for (int i = 0; i < 52; i++) //assigns the 52 cards their values
{
if (i < 13)
{
deck[i].set_card_number(i+1);
deck[i].set_card_suit('h');
}
elseif (i >= 13 && i < 26)
{
deck[i].set_card_number(i-12);
deck[i].set_card_suit('d');
}
elseif (i >= 26 && i < 39)
{
deck[i].set_card_number(i-25);
deck[i].set_card_suit('s');
}
elseif (i >= 39 && i < 52)
{
deck[i].set_card_number(i-38);
deck[i].set_card_suit('c');
}
else
cout << "ERROR IN generate_deck" << endl;
}
}
i was wondering if there is a more efficient way of writing this as it seems like a crude method. i believe this code to be self-explanatory but if there's anything that's not clear please point it out and i'll do my best to explain.