Non ho letto tutto il codice ma mi è saltato subito all'occhio questo pezzo:
gioc.nome è un array di char e tu stai leggendo un singolo char. La versione corretta ècodice:scanf("%c",&gioc.nome);
(senza &, nome è già un indirizzo (essendo un vettore))codice:scanf("%s", gioc.nome);

Rispondi quotando