Scelta non l' hai inizializzato,il ciclo comincia se:
Cioè se scelta è uguale a zero o se scelta è uguale a 1.codice:while(scelta==0 || scelta==1)
Ma scelta non ha valore,l'hai dichiarato te con:
Prova a dargli il valore 0.codice:int scelta;
L' if è una condizione,eseguo l' istruzione se la condizione dentro l' if è verificata.
Il while è come l' if ma si ripete finchè la condizione risulta vera.