Question: PLEASE DON'T COPY EXISTING CODES ON CHEGG. The program is in C++ I have attched my code for hw5, that's needed for this project The
PLEASE DON'T COPY EXISTING CODES ON CHEGG. The program is in C++ I have attched my code for hw5, that's needed for this project 
The code for hw5 is as follows //card class
#ifndef Card_h
#define Card_h
#include
#include
#include
#include
#include
using namespace std;
//The enumerated data types
enum Suit
{
Clubs = 1,
Diamonds = 2,
Hearts = 3,
Spades = 4
};
//The Card class
class Card
{
private:
string description;
Suit suit;
int number;
public:
// default constructor
Card()
{
number = 0;
description = "";
}
// get function for suit
Suit getCardSuit()
{
return suit;
}
// set function for suit
void setCardSuit(Suit m_suit)
{
suit = m_suit;
}
int getCardNumber()
{
return number;
}
// set function for card
void setCardNumber(int m_num)
{
number = m_num;
}
// get function for description
string getCardDescription()
{
return description;
}
// set the card description
void setDescription(string m_description)
{
description = m_description;
}
// Overloaded operator
bool operator
{
if (suit
return true;
else if (suit > card2.suit)
return false;
else
{
if (number == 1)
return false;
else if (card2.number == 1)
return true;
else if (card2.number
return true;
}
return false;
}
};
#endif /* Card_h */ //Deck class
#ifndef Deck_h
#define Deck_h
#include "Card.h"
#include
#include
#include
#include
#include
using namespace std;
const int SIZE = 52;
Card card[52]; // card array
//Class Deck definition
class Deck
{
//private card variable
Card deckOfCards[SIZE];
public:
void initialize()
{
//the string to perform the description
string cardDesc;
char name[10];
int setFlag;
//the for loop to initialize the deck Of Cards
for (int i = 1; i
{
setFlag = 0;
if (i == 1 || i == 14 || i == 27 || i == 40)
{
cardDesc = "Ace";
setFlag = 1;
}
else if (i == 11 || i == 24 || i == 37 || i == 50)
{
cardDesc = "Jack";
setFlag = 1;
}
else if (i == 12 || i == 25 || i == 38 || i == 51)
{
cardDesc = "Queen";
setFlag = 1;
}
else if (i == 13 || i == 26 || i == 39 || i == 52)
{
cardDesc = "King";
setFlag = 1;
}
if (i
{
deckOfCards[i - 1].setCardSuit(Spades);
deckOfCards[i - 1].setCardNumber(i);
if (setFlag == 0)
{
(deckOfCards[i - 1].getCardNumber(), name, 10);
cardDesc = ((string)name);
}
cardDesc = " of Spades";
deckOfCards[i - 1].setDescription(cardDesc);
}
else if (i > 13 && i
{
deckOfCards[i - 1].setCardSuit(Hearts);
deckOfCards[i - 1].setCardNumber(i - 13);
if (setFlag == 0)
{
(deckOfCards[i - 1].getCardNumber(), name, 10);
cardDesc = ((string)name);
}
cardDesc = " of Hearts";
deckOfCards[i - 1].setDescription(cardDesc);
}
else if (i > 26 && i
{
deckOfCards[i - 1].setCardSuit(Diamonds);
deckOfCards[i - 1].setCardNumber(i - 26);
if (setFlag == 0)
{
(deckOfCards[i - 1].getCardNumber(), name, 10);
cardDesc = ((string)name);
}
cardDesc = " of Diamonds";
deckOfCards[i - 1].setDescription(cardDesc);
}
else
{
deckOfCards[i - 1].setCardSuit(Clubs);
deckOfCards[i - 1].setCardNumber(i - 39);
if (setFlag == 0)
{
(deckOfCards[i - 1].getCardNumber(), name, 10);
cardDesc = ((string)name);
}
cardDesc = (" of Clubs");
deckOfCards[i - 1].setDescription(cardDesc);
}
}
}
void shuffle()
{
Card cardObj;
int numRandm;
srand(time(NULL));
for (int i = 0; i
{
numRandm = rand() % 52;
cardObj = deckOfCards[i];
deckOfCards[i] = deckOfCards[numRandm];
deckOfCards[numRandm] = cardObj;
}
}
void deal()
{
Card hands[13][4];
for (int j = 0; j
{
for (int i = 0; i
{
hands[j][i] = deckOfCards[i + 4 * j];
}
}
sort(hands);
display(hands);
}
void sort(Card hands[13][4])
{
Card cardObj;
int j;
for (int itr = 0; itr
{
for (int i = 1; i
{
cardObj = hands[i][itr];
j = i - 1;
while (j >= 0 && hands[j][itr]
{
hands[j + 1][itr] = hands[j][itr];
j--;
}
hands[j + 1][itr] = cardObj;
}
}
}
void display(Card hands[13][4])
{
Suit suit;
int number;
cout
cout
for (int j = 0; j
{
for (int i = 0; i
{
suit = hands[j][i].getCardSuit();
number = hands[j][i].getCardNumber();
if (suit == 1)
cout
else if (suit == 2)
cout
else if (suit == 3)
cout
else
cout
if (number == 1)
cout
else if (number == 11)
cout
else if (number == 12)
cout
else if (number == 13)
cout
else
cout
}
cout
}
}
};
#endif /* Deck_h */ //Main program
#include "stdafx.h" #include "Card.h"
#include "Deck.h"
#include
using namespace std;
int main()
{
Deck deckOfCards;
deckOfCards.initialize();
int choice = 1;
do
{ //User menu
cout
cout
cout
cout
cout
cin >> choice;
switch (choice)
{
case 1:
cout
deckOfCards.shuffle();
cout
break;
case 2:
cout
deckOfCards.deal();
cout
break;
case 3:
cout
exit(0);
break;
default:
cout
}
} while (choice != 3);
}
Homework 6-Game of Hearts Before writing any code, review the rules of the game, page 2, and play a few games at playhearts-online.com Write a program that plays the card game of Hearts. Your program should build on your code for homework 5, including your overloaded
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
