Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Your solution should for this assignment should consist of five(5) files: Card.h (class specification file) Card.cpp (class implementation file) DeckOfCards.h (class specification file) DeckOfCards.cpp (class

Your solution should for this assignment should consist of five(5) files: Card.h (class specification file) Card.cpp (class implementation file) DeckOfCards.h (class specification file) DeckOfCards.cpp (class implementation file) assign7.cpp (application program)

Please continue to use the same naming convention as before, where each filename should contain both your first name and your last name. If your first name is James and your last name is Smith, then your header file should be named James_Smith_Card.h. The other four files should use the same naming convention.

For your seventh programming assignment you will be writing a program to shuffle and deal a deck of cards. The program should consist of class Card, class DeckOfCards and an application program.

Class Card should provide:

a. Data members face and suit of type int. These are index numbers for the faces and suits arrays described in step c below.

b. A constructor that receives two ints representing the face and suit and uses them to initialize the data members.

c. Two static arrays of strings representing the faces and suits. The faces array stores the strings Ace, Deuce, Three, Four, Five, Six, Seven, Eight, Nine, Ten, Jack, Queen, and King. The suits array stores the strings Hearts, Diamonds, Clubs, and Spades.

d. A toString function that returns the Card as a string in the form face of suit. For example, Ace of Hearts. You can use the + operator to concatenate strings.

Class DeckOfCards should contain:

a. A vector of Cards named deck (of type Card the Card class) to store the Cards. There are 52 cards in a deck, which is the number of faces (13) times the number of suits (4).*

b. An integer currentCard representing the next card to deal. This is used as an index number for the deck vector from step a.

c. A default constructor that initializes the Cards in the deck. You can initialize the faces and suits in the order shown above in step c of the Card class.**

d. A shuffle function that shuffles the Cards in the deck. The shuffle algorithm should iterate through the array of Cards. For each Card, randomly select another Card in the deck and swap the two Cards.

e. A dealCard function that returns the next Card object from the deck vector.

f. A moreCards function that returns a bool value indicating whether there are more Cards to deal. This function will return false if all 52 cards have been dealt, otherwise it returns true.

* Note that this is composition: a deck of cards has cards, so the DeckOfCards class has a vector of type Card as one of its private member variables.

This means each index in the deck vector stores an entire Card object, and each Card object in turn consists of a face (type string) and a suit (type string). For example:

deck[0] = Card(Ace, Hearts) deck[1] = Card(Deuce, Diamond) . deck[51] = Card(Queen, Spades)

** The faces array stores the strings Ace, Deuce, Three, Four, Five, Six, Seven, Eight, Nine, Ten, Jack, Queen, and King. The suits array stores the strings Hearts, Diamonds, Clubs, and Spades. You can initialize the arrays following this order.

The application program should create a DeckOfCards object, shuffle the cards, then deal the 52 cards. Each time you run the program you should see all 52 cards, but they should be displayed in a different order each time the program is run (as shown below).

Sample run 1:

image text in transcribed

Sample run 2:

image text in transcribed

Sample run 3:

image text in transcribed

Sample run 4:

image text in transcribed

King of Spades Queen of Diamonds Queen of Hearts Three of Hearts Deuce of Spades Three ofDiamonds Four of Clubs Ten ofDiamonds Ace of Hearts Six of Clubs Deuce of Clubs Seven of Clubs Queen of Spades Eight of HeartsEight of Diamonds Jack of Clubs Jack of Hearts Nine ofDiamonds Seven ofHearts Ace ofDiam Three of Spades King of Hearts Jack of Spades Seven of Spades Five of Hearts Ten of Clubs Jack of Diamonds King of Clubs Five of Spades Four of Hearts Nine ofClubs Eight of Clubs Nine of Spades Five of Diamonds Six of Spades King of Diamonds Eight of Spades Queen of Clubs Five of Clubs Threeof Clubs Four ofDiamonds Tenof Spades Deuce of Hearts Ace of Spades Ace of Clubs Deuce of Diamonds onds Ten of Hearts Six of Hearts Seven of Diamonds Nine of Hearts Four of Spades Six ofDiamonds

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Modern Database Management

Authors: Jeffrey A. Hoffer Fred R. McFadden

4th Edition

0805360476, 978-0805360479

More Books

Students also viewed these Databases questions

Question

=+ If they arent, what is the means for resolving the conflict?

Answered: 1 week ago

Question

1. Discuss the potential legal issues that relate to training.

Answered: 1 week ago

Question

3. Design a program for preparing for cross-cultural assignments.

Answered: 1 week ago

Question

2. Develop a program for effectively managing diversity.

Answered: 1 week ago