Not sure if you fixed it all yet but this bit:

Code:
for(x=3;x<7;x++)
{
for(y=2;y<15;y++)
{
deckptr -> suitValue = x;
deckptr -> faceValue = y;
}
deckptr++;
}
only fills the deck with 4 cards.

Have a think about how often you call deckptr++;