Write a program to play noughts and crosses with another human player. Allow the players to type in their names. Your program must report a winner as soon as one is found. The program must also alternate symbols and prevent cheating.
The winner could be written to a Hall of Records.