A prima vista... quando chiami:
quale funzione vuoi che venga chiamata prima? la "utente" o "pc1"?codice:vincitore(utente(),pc1())
Considera che in C/C++ l'ordine di chiamata (salvo strambe direttive di compilazione che non conosco) non è definito, ovvero potrebbe essere chiamata prima la "pc1" poi la "utente" o viceversa: quindi se le funzioni "utente" e "pc1" hanno effetti collaterali (modificano direttamente od indirettamente delle variabili globali, tra l'altro numerose nel tuo progetto), allora il comportamento del tuo programma non è definito.