Hola:
Para rangos no te vale usar el switch aunque se podría convertir cada valor a entero... pero sería mucho más trabajoso que usar un if normal...
if (patata <= 1)
cebolla = 5;
else if (patata <= 2);
cebolla = 8;
else if (patata <= 3)
cebolla = 10;
Traté de simplificar los rangos, pero no estoy seguro de haberlo hecho bien...
Saludos