All your cin, cout, and endl 's are not being called. Preface each of them with std:: or put usingnamespace std; at the beginning of your file, right after your include statements. I don't recommend doing that too often, but for a smaller project like this, it's okay. Your switch statements do not have braces, and each case doesn't have braces either. Your for statements are right after another without braces as well.
In your computer() function, you should put the second for loop in braces, with the two if statements, otherwise only the first if statement is included, and the second one is tested right after the two loops conclude. I recommend putting braces around that too, because it was a little difficult for me to read at first.
Your do while loop is formatted incorrectly: everything in your while section should be put into the do section, and the while condition is put after the do {}, with a semicolon at the end. (That prevents the compiler from looking for a while loop right afterwards). You define your matrix as int matrix[3][3] but your X() and O() functions don't use them properly. A quick look tells me you're indexing in the wrong order.
(I haven't slept in 37 hours, so perhaps my eyes are fooling me...)
Either you're indexing in the wrong order, or your goal was to index them in the opposite order where matrix[0][0] would be the 9th position. I think. Again, very sleepy here. If you're still having problems after this post, just...post again and I'll try to elaborate more and maybe even write a fixed up version of the program for you.
EDIT:
You're also calling your O() and X() functions incorrectly. When you prototype, and define them, it is necessary to state the return type and the parameters, but when you call them from another function (like main()), you don't include the return type for void function calls.