No....cin.get() ritorna un int che rappresenta la codifica ascii del carattere digitato (leggi qui)Originariamente inviato da m4st3r
quello che mi dici di fare è di far diventare la variabile scelta un char?
Se ti è più chiaro, invece di scrivere:
puoi anche scriverecodice:while (scelta<'1' || scelta>'5');
poiché 49 è la codifica ascii di 1 e 53 è quella di 5.codice:while (scelta<49 || scelta>53);
L'unica cosa che cambia e di cui mi sono accorto ora è che il valore di ritorno della tua funzione cambia, non è più compreso tra 1 e 5 ma tra 49 e 53.
Per correggere questo errore puoi scrivere
al posto dicodice:return (scelta - 48);
codice:return scelta;

Rispondi quotando