Ma infatti il compilatore ti sta segnalando che le variabili non inizializzate sono r1, r2, ecc... non ff.
Il compilatore NON PUO' sapere se tali variabili verranno effettivamente inizializzate o meno: cosa accade, ad esempio, se l'utente inserisce il valore 3 per la variabile "ff" (Livello Fast Food)? Succede questo:
1) La prima if è falsa, non viene eseguito il suo corpo.
2) La seconda if è falsa, non viene eseguito il suo corpo.
3) La terza if è vera. Viene inizializzato r3; la if al suo interno non potrà mai essere vera e non si capisce che ci faccia lì (perchè se ff == 3 non potrà mai essere uguale a 4).
Poi viene eseguito if (r1 > r2)... ma r1 e r2 non sono mai state inizializzate: risultato indefinito.
La regola aurea è: quando si dichiara una variabile locale la si deve sempre inizializzare.
Ciao.![]()



Rispondi quotando