I’m trying to make a simple blackjack program. Sadly, I’m having problems right off the bat with generating a deck of cards.
#include <iostream> #include <vector> using namespace std; int main() { vector<char> deck; char suit[] = {'h','d','c','s'}; char card[] = {'2','3','4','5','6','7','8','9','10','J','Q','K','A'}; for (int j=0; j<13; j++) { for (int i=0; i<4; i++) { deck.push_back(card[j] suit[i]); } } return 0; }
I know my problem begins with me trying to assign the value ’10’ to a char. Obviously I couldn’t get this to compile but I’m sure when I try to assign the card values to the vector deck I’ll also get an error since I used variable type ‘char’. Knowing what kind of variable type to use seems to be killing me. Also, would ‘deck.push_back(card[j] suit[i]);’ be the correct code to combine the card and suit, or do you have to put something between card[j] and suit[i]? I’d appreciate it if any of you could lead me in the right direction. Also as a little side note, this is part of a homework assignment so please don’t just give me entire blocks of code. Thanks for your help.
Try to create class of Card with suit and card as a member and set it as a type of vector. Like
also using enums instead of chars in suit and card would make it clearer.