Dal punto di vista "stilistico" conviene mettere una condizione sensata sul ciclo ed evitare return e break all'interno, questo contribuisce ad una programmazione più strutturata.
Per l'algoritmo di per sé, sarò abbastanza franco: scrivendo un programma console non ho mai prestato particolare attenzione al fatto che l'utente inserisca un carattere al posto di un numero, o meglio, accettavo che in caso contrario il programma "scoppiasse".
Sinceramente non ho mai provato neppure con i blocchi try...catch, quindi non ti saprei dare un aiuto diretto.
Il metodo che usavo quando lavoravo in Assembly era di leggere tutto come una stringa, poi farmi le conversioni che mi servivano. Ad esempio, leggi una stringa e poi usi la funzione atoi() per tentare una conversione in numero. In questo modo la lettura non darà mai errori e l'atio() di certo non scoppia se gli passi una stringa senza numeri, al massimo dà 0.

Rispondi quotando