#include "card.h"
#include "deck.h"
#include "hand.h"
using namespace std;
/************************************************************
* FunctionName *
* Function description *
* *
* *
************************************************************/
int main()
{
string repeat = "Y";
Deck myDeck;
Hand myHand;
string exchangeCards;
while (repeat == "Y" || repeat == "y")
{
cout <>
myHand.newHand(myDeck);
myHand.print();
cout <>
cout < "would="" you="" like="" to="" exchange="" any="" cards?="" [y="" n]:="">
getline(cin, exchangeCards);
while (exchangeCards != "Y" && exchangeCards != "y" && exchangeCards != "X" && exchangeCards != "n")
{
cout < "please="" enter="" y="" or="" n="" only:="">
getline(cin, exchangeCards);
}
if(exchangeCards = "Y" || exchangeCards = "y")
{
myHand.exchangeCards(myDeck);
}
cout <>
myHand.print();
cout <>
myDeck.reset(); // Resets the deck for a new game
cout < "play="" again?="" [y="" n]:="">
getline(cin, repeat);
while (repeat != "Y" && repeat != "y" && repeat != "N" && repeat != "n")
{
cout < "please="" enter="" y="" or="" n="" only:="">
getline(cin, repeat);
}
}
return 0;
}
deck.h:
deck.h
#ifndef DECK_H
#define DECK_H
#include
#include // srand(), rand()
#include // time()
#include "card.h" // Include card header file here
using namespace std;
class Deck
{
public:
// class Constructor
Deck();
// Reset deck to new state (completely undealt)
void resetDeck();
// Print all cards in the undealt deck
void printUndealtDeck();
// Print all cards in the dealt deck
void printDealtDeck();
// Get size of the undealt deck
const int getSizeUndealtDeck();
// Get size of the dealt deck
const int getSizeDealtDeck();
// Deal a single card
Card dealCard(); // Is the dealCard() here an accessor or mutator function???
private:
vector m_undealtDeck; // Undealt cards
vector m_dealtDeck; // Dealt cards
};
#endif
// card.h
#ifndef CARD_H
#define CARD_H
#include
#include
using namespace std;
// Sources: https://en.wikipedia.org/wiki/Standard_52-card_deck
// https://en.wikipedia.org/wiki/Pip_(counting)
const string pips[] = {"Ace", "Two", "Three", "Four", "Five",
"Six", "Seven", "Eight", "Nine", "Ten",
"Jack", "Queen", "King"};
const string suits[] = {"Hearts", "Spades", "Clubs", "Diamonds"};
class Card
{
public:
// Get card value
int get();
// Set card value
void set(int value);
string getPip();
string getSuit();
// Print card value
void print();
private:
int m_cardValue;
};
#endif
hand.h:
hand.h
#ifndef HAND_H
#define HAND_H
#include
#include "card.h" // Include card header file here
#include "deck.h" // Include deck header file here
using namespace std;
const int NUM_CARDS_ON_HAND = 5;
class Hand
{
public:
// Put new card from deck into given location in a hand
void newCard(Deck& deck, int location);
// Get all new cards
void newHand(Deck& deck);
// Determine cards to exchange and exchange them in a hand
void exchangeCards(Deck& deck);
// Print the hand
void print();
private:
Card m_hand[NUM_CARDS_ON_HAND]; // A hand consists of 5 cards
};
#endif
x Build log X Build messages X CppCheck/Vera++ X CppCheck/Vera++ messages X Cscope X ODebugg File Line Message === Build file: "no target" in "no project" (compiler: unknown) === C:\Users\Mica... In function 'int main ()': C:\Users\Mica... 52 error: no match for 'operator||' (operand types are 'const char [2]' and 'std::_cxxll... C:\Users\Mica... 52 note: candidate: 'operator|| (bool, bool)' C:\Users\Mica... 52 note: no known conversion for argument 2 from 'std::_cxxll::string' {aka 'std:: 'std::_cx... C:\Users\Micai\Downloads\Assignment2\main.cpp C/C++ Windows (CR+LF) WINDOWS-1252 Line 52, Col 1, Pos 1323 Insert Read/Write default "/>
Extracted text: A main.cpp - Code:Blocks 20.03 File Edit View Search Project Build Debug Fortran wx Smith Tools Tools+ Plugins DoxyBlocks Settings Help | v main0 : int + + 2 4 Aa * Q Q S C /** *< management="" start="" here="" x="" card.cpp="" x="" card.h="" x="" deck.cpp="" x="" deck.h="" x="" hand.cpp="" x="" hand.h="" x="" main.cpp="" x="" •="" projects="" files="" fsymbols="" getline="" (cin,="" exchangecards);="" 43="" workspace="" 44="" 45="" while="" (exchangecards="" !="Y" &&="" exchangecards="" !="y" &&="" exchangecards="" !="X" &&="" exchangecards="" !="n" )="" 46="" {="" 47="" cout="">< "please="" enter="" y="" or="" n="" only:="" ";="" 48="" getline="" (cin,="" exchangecards);="" 49="" 50="" }="" 51="" 52="" if="" (exchangecards="Y" ||="" exchangecards="y" )="" 53="" {="" 54="" myhand.exchangecards="" (mydeck)="" ;="" 55="" 56="" cout="">< endl;="" 57="" 58="" myhand.print="" ();="" 59="" 60="" cout="">< endl;="" 61="" logs="" &="" others="" a="" code:blocks="" x="" search="" results="" x="" cccc="">x Build log X Build messages X CppCheck/Vera++ X CppCheck/Vera++ messages X Cscope X ODebugg File Line Message === Build file: "no target" in "no project" (compiler: unknown) === C:\Users\Mica... In function 'int main ()': C:\Users\Mica... 52 error: no match for 'operator||' (operand types are 'const char [2]' and 'std::_cxxll... C:\Users\Mica... 52 note: candidate: 'operator|| (bool, bool)' C:\Users\Mica... 52 note: no known conversion for argument 2 from 'std::_cxxll::string' {aka 'std:: 'std::_cx... C:\Users\Micai\Downloads\Assignment2\main.cpp C/C++ Windows (CR+LF) WINDOWS-1252 Line 52, Col 1, Pos 1323 Insert Read/Write default