Code:
#include <iostream>




using namespace std;




enum signBoard {up_left, up_middle, up_right, left_middle, middle, right_middle, down_left, down_middle, down_right};


void playerXturn();
void playerOturn();
int cellNumber;


int main()
{
    //Draws the board and shows what number each cell represents.
    cout << up_left << " | " << up_middle << " | " << up_right << endl;
    cout << "---------" << endl;
    cout << left_middle << " | " << middle << " | " << right_middle << endl;
    cout << "---------" << endl;
    cout << down_left << " | " << down_middle << " | " << down_right << endl;
    cout << "Write the number of the cell of which you would like to mark." << endl;
    cout << "Player X turn: ";


    int i = 0;
    while (i < 4)
    {
        playerXturn();
        cout << up_left << " | " << up_middle << " | " << up_right << endl;
        cout << "---------" << endl;
        cout << left_middle << " | " << middle << " | " << right_middle << endl;
        cout << "---------" << endl;
        cout << down_left << " | " << down_middle << " | " << down_right << endl;
        cout << "Player O turn: ";
        playerOturn();
        cout << up_left << " | " << up_middle << " | " << up_right << endl;
        cout << "---------" << endl;
        cout << left_middle << " | " << middle << " | " << right_middle << endl;
        cout << "---------" << endl;
        cout << down_left << " | " << down_middle << " | " << down_right << endl;
        cout << "Player X turn: ";
        i++;
    }


    return 0;
}






void playerXturn ()
{
    //Takes input and is supposed to assign a char to the enumerated data type.
    //It doesnt however.
    cin >> cellNumber;
    switch (cellNumber)
    {
    case 0:
        up_left = 'X';
        break;
    case 1:
        up_middle = 'X';
        break;
    case 2:
        up_right = 'X';
        break;
    case 3:
        left_middle = 'X';
        break;
    case 4:
        middle = 'X';
        break;
    case 5:
        right_middle = 'X';
        break;
    case 6:
        down_left = 'X';
        break;
    case 7:
        down_middle = 'X';
        break;
    case 8:
        down_left = 'X';
        break;


    }


}
void playerOturn ()
{
    cin >> cellNumber;
    switch (cellNumber)
    {
    case 0:
        up_left = 'O';
        break;
    case 1:
        up_middle = 'O';
        break;
    case 2:
        up_right = 'O';
        break;
    case 3:
        left_middle = 'O';
        break;
    case 4:
        middle = 'O';
        break;
    case 5:
        right_middle = 'O';
        break;
    case 6:
        down_left = 'O';
        break;
    case 7:
        down_middle = 'O';
        break;
    case 8:
        down_left = 'O';
        break;


    }


}
So the problem I am experiencing is that I dont know how to assign a char to one of my enumerated data types. I kind of know why, ?because it is an integer and I cant just set the enum equal to a char?. So my question is: How do I assign a char to an enumerated type? Any other suggestions of improvement to my other code is also greatly appreciated. There are alot of functions missing, like win condition etc, but I have a basic idea of making those, so I dont necessary need input on those.
Thank you.