I would suggest you null out the game board so you can have a single function to check/set the board. Something like:
1 2 3 4 5 6 7 8 9 10 11
bool try_move(int spot, char token) // spot is the board index, token is 'X' or 'O'
{
if(set[spot]) // not NULL, already taken
{
cout << "Spot taken. Choose another." << endl;
} else { // spot is NULL so open for the taking
set[spot] = token;
returntrue;
}
returnfalse;
}