Hola,
Cita:
Iniciado por Xerelo if (decision != (1 | 2))
Son operaciones a nivel de bits. 1 OR 2 = 3 siempre.
Estas diciendo decisión no sea igual a 3.
En el peor de los casos vendría siendo decision != 1 && decisioin != 2.
Aunque en ese caso sería mejor usar el swith como indica Xerelo
Saludos,