okay so heres what i have and this isnt running at all rite now
Code:
/* Shuffling 52 random cards and displaying the results using functions
and pointers. */
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
char faces[]={"0023456789TJQKA"};
typedef enum {
eHearts = 3,
eDiamonds,
eClubs,
eSpades
} CardSuit;
typedef struct {
char faceValue;
CardSuit suitValue;
} Card;
/* Declaring the functions that are going to be used */
void filldeck(Card *);
void shuffledeck(Card *);
void dealdeck(Card *, Card handsdelt [4][52]);
/* Main used to test functions */
int main(void)
{
char i;
Card Deck[52];
Card *deckptr;
Card handsDelt[4][52];
deckptr = Deck;
filldeck(deckptr);
shuffledeck(deckptr);
dealdeck(deckptr , handsDelt[][52]);
return 0;
}
/* filldeck()
* Description:
* Initializes the deck.
*
* Returns:
* Void function...
*
* Parameters:
* A pointer to the array of card structures.
*
* Error Codes:
* NONE
*
*/
void filldeck(Card *deckptr)
{
char x;
char y;
for(x=3;x<7;x++)
{
for(y=2;y<15;y++)
{
deckptr -> suitValue = x;
deckptr -> faceValue = y;
}
deckptr++;
}
return;
}
/* shuffledeck()
* Description:
* Shuffles the deck.
*
* Returns:
* Void function...
*
* Parameters:
* A pointer to the array of card structures.
*
* Error Codes:
* NONE
*
*/
void shuffledeck(Card *deckptr)
{
Card temp, *cardptr;
int i,x;
srand(time(NULL));
for(i=0;i<53;i++)
{
x = rand()%52;
cardptr = deckptr + x;
temp = *cardptr;
*cardptr = *deckptr;
*deckptr = temp;
deckptr + 1;
}
return;
}
/* dealdeck()
* Description:
* Deals and prints the hands of cards.
*
* Returns:
* Void function...
*
* Parameters:
* A pointer to the array of card structures, and a 2-dimensional array
* of card structures representing the players hands.
* ex: handDelt[Number_of_Players] [Number_of_Cards]
*
* Error Codes:
* NONE
*
*/
void dealdeck(Card *deckptr , Card handsDelt [4][52])
{
int i;
for(i=0;i<5;i++)
{
printf("%c-%c\n",faces[deckptr->faceValue],deckptr->suitValue);
}
return;
}