Your code is really hard to look at. But from your question : "cant
determine the winner" I figure that the winner checker is not working.
There are 2 things you can do.
Option1 : Make a hard-coded function that checks for winner
Option2 : create a for loop to that checks the winner.
I would say Option1 is easier. So For now, you should get that working.
To check for winner you need to first create a function like so :
bool checkForWinner(const char *Board[3], const char key){
if( Board[0][0] == key && Board[0][1] == key && Board[0][2] == key)
return true;
//and so one
}
Thats the hard-coded way. Try and see if you can get that working.
Also try to make your code neater and easier to read.