Hello, so I've been working on a little project of mine, i'm trying to imitate a black jack game without the fancy rules though, just the basics. Here's the code:

Code:
#include <iostream>
#include <string>
#include <vector>
#include <cstdlib>
#include <ctime>

#define NUM_CARDS 52
using namespace std;
typedef vector<int> CardVec;

void InitDeck(CardVec& deck);
void ShuffleDeck(CardVec& deck);
int SumCardValues(const CardVec& cards);
void PrintCards(const CardVec& cards, bool dealer);
void PlayGame();

const string CardNames[52] = // Creating array for name for cards
      {
         "H2", "H3", "H4", "H5", "H6", "H7", "H8", "H9", "H10", "HJ", "HQ", "HK", "HA",
         "D2", "D3", "D4", "D5", "D6", "D7", "D8", "D9", "D10", "DJ", "DQ", "DK", "DA",
         "S2", "S3", "S4", "S5", "S6", "S7", "S8", "S9", "S10", "SJ", "SQ", "SK", "SA",
         "C2", "C3", "C4", "C5", "C6", "C7", "C8", "C9", "C10", "CJ", "CQ", "CK", "CA"
      };

      const int CardValues[52] =
      {
          2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 10, 11,
          2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 10, 11,
          2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 10, 11,
          2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 10, 11
      };
int main()
{
      srand((unsigned)time(0));
      bool quit = false;

      while(!quit)
      {
          string choice = "";

          cout <<  "1) Play Game 2) Quit" << endl;
          cin >> choice;

          if(choice == "1")
          {
              PlayGame();
          }

          else if(choice == "2")
          {
              quit = true;
          }
          else
          {
              cout << "Invalid Input" << endl;
          }
      }
}

void InitDeck(CardVec& deck)
{
    for(int i=0;i<52;++i)
    {
        deck[i] = i;
    }
}

void ShuffleDeck(CardVec& deck)
{
    int temp = 0;
    int swapnum = 0;

    for(int i=0;i<52;++i)
    {
        swapnum = rand() % 52;
        temp = deck[i];
        deck[i] = deck[swapnum];
        deck[swapnum] = temp;
    }
}

int SumCardValues(const CardVec& cards)
{
    int sum = 0;
    for(int i=0;i<2;++i)
    {
        sum += CardValues[cards[i]];
    }

    return sum;
}

void PrintCards(const CardVec& cards, bool dealer)
{
      int cardsize = 0;
      cardsize = cards.size();

      if(dealer == true)
      {
          cout << "Dealers has: ";
          for(int i=0;i<cardsize;++i)
          {
              cout << CardNames[cards[i]] << ", ";
          }

      }

      else if(dealer == false)
      {
          cout << "You have: ";
          for(int i=0;i<2;++i)
          {
              cout << CardNames[cards[i]] << ", ";
          }
      }
}

void PlayGame()
{
    //Create, initialize, shuffle deck
    CardVec deck(52);
    InitDeck(deck);
    ShuffleDeck(deck);

    //Create hands for dealer and player as vectors
    CardVec PlayerHand;
    CardVec DealerHand;

    //Draw cards

    //////Player Hand/////////
    PlayerHand.push_back(deck.back());
    deck.pop_back();

    PlayerHand.push_back(deck.back());
    deck.pop_back();

    /////DealerHand///////////
    DealerHand.push_back(deck.back());
    deck.pop_back();

    DealerHand.push_back(deck.back());
    deck.pop_back();

    PrintCards(PlayerHand,false); // Display players hand
    cout << endl;

    PrintCards(DealerHand,true); // Display dealers hand
    cout << endl;
    while(1) // Players turn
    {
        int choice = 0;
        int sumvalue = 0;

        cout << "1) Hit 2) Stand" << endl;
        cin >> choice;

        if(choice == 1)
        {
            PlayerHand.push_back(deck.back());
            sumvalue = SumCardValues(PlayerHand);
            if(sumvalue > 21)
            {
                cout << "You busted!" << endl;
                break;
            }
            else if(sumvalue< 21)
            {
                continue;
            }
        }
        else
        {
            cout << "You stand." << endl;
        }
    }

    while(1) // Dealers turn
    {
        if(SumCardValues(DealerHand) < 18)
        {
            cout << "Dealer hits, ";
            PrintCards(DealerHand,true);
        }
        else
        {
            cout << "Dealer stands." << endl;
        }
    }

}
The problem is that when i run it, it gets to "1) Hit 2) Stand" and i press 1 but, then it keeps repeating itself, it'll keep saying "1) Hit 2) Stand" even though i'm pressing 1