Question: C++ help, pleas help, code is not working easyfix #include #include using namespace std; class Card { private: char rank, suit; public: Card(); Card(char r,

C++ help, pleas help, code is not working

easyfix

#include

#include

using namespace std;

class Card {

private:

char rank, suit;

public:

Card();

Card(char r, char s);

void setCard(char r, char s);

int getValue();

void showCard();

};

Card::Card() {

rank = suit = ' ';

}

Card::Card(char r, char s) {

rank = r;

suit = s;

}

void Card::setCard(char r, char s) {

rank = r;

suit = s;

}

int Card::getValue() {

if (rank == 'A') {

return 1;

}

else if (rank == '2') {

return 2;

}

else if (rank == '3') {

return 3;

}

else if (rank == '4') {

return 4;

}

else if (rank == '5') {

return 5;

}

else if (rank == '6') {

return 6;

}

else if (rank == '7') {

return 7;

}

else if (rank == '8') {

return 8;

}

else if (rank == '9') {

return 9;

}

else if (rank == 'K') {

return 10;

}

else if (rank == 'Q') {

return 10;

}

else {

return 10;

}

}

void Card::showCard() {

cout << rank << suit << ".";

}

class Deck {

private:

Card deck[52];

int cardsCnt;

public:

Deck();

void refreshDeck();

Card deal();

void shuffle();

int cardsLeft();

void displayDeck();

};

Deck::Deck() {

char ranks[] = { 'A','1','2','3','4','5','6','7','8','9','J','Q','K' };

char suits[] = { 'S','H','D','C' };

int k = 0;

for (int i = 0; i < 4; i++) {

for (int j = 0; j < 13; j++)

{

deck[k++] = Card(ranks[j], suits[i]);

}

}

cardsCnt = 52;

}

void Deck::refreshDeck() {

char ranks[] = { 'A','1','2','3','4','5','6','7','8','9','J','Q','K' };

char suits[] = { 'S','H','D','C' };

int k = 0;

for (int i = 0; i < 4; i++) {

for (int j = 0; j < 13; j++)

{

deck[k++] = Card(ranks[j], suits[i]);

}

}

cardsCnt = 52;

}

Card Deck::deal() {

Card c = deck[cardsCnt - 1];

cardsCnt--;

return c;

}

void Deck::shuffle() {

srand(0);

for (int i = 0; i < cardsCnt; i++)

{

int r = i + (rand() % (52 - i));

Card temp = deck[i];

deck[i] = deck[r];

deck[r] = temp;

}

}

int Deck::cardsLeft() {

return cardsCnt;

}

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!