Salve, sono nuovo di questo forum e dato che si parla di programmazione volevo chiedervi una cosa.
Ho un problema con una scanf e vi illustro qual'è:
Sto implementando un gioco "Battaglia Navale" in linux ed è tutto risolto, ma ho un problemino stupido
Quando inserisco le coordinate, inserisco una stringa del tipo A3, J9.
La matrice del campo di bataglia è 10X10 quindi non ho proiblemi le coordinate sono sempre di due elementi.
Il problema sta qui:
se io immetto: A2Ciao, genero un errore dato che da I/O prelevo i 3 caratteri iniziali della stringa e quindi il terzo non è valido.
Se io immetto invece B2 Ciao, l'errore non viene generato!
Ovvero non considera lo spazio nella cattura dell'errore.
La cosa positiva è che ogni volta cancello il Buffer di IO e quindi nella seconda immissione non ci sono problemi.
Per arginare il problema ho pensato che se scanf fosse limitata a due caratteri ovvero
A5 senza possibilità di inserire altro
tutto si risolverebbe.
Avete qualche altra possibile soluzione?

Rispondi quotando