En las comparaciones, no puedes poner, por ejemplo,
if (opcion == 2||3)
(en la que entiendo que lo que quieres es comprobar si opcion es igual a 2 ó opcion es igual a 3). Debes poner una comparación para cada valor:
if ( (opcion == 2) || (opcion == 3) )
y lo mismo ocurre con la condición del bucle while.
Para este caso, deberías utilizar la sentencia switch:
Código C:
Ver originalswitch (opcion)
{
case 1:
...
break;
case 2:
case 3:
...
break;
case 4:
...
break;
case 5:
...
break;
default:
...
break;
}
(
case 2 y
case 3 van juntos porque hacen lo mismo).
Saludos,