Muchas gracias compañero.
Al final conseguí hacer la calculadora, pero de una manera bastante menos lógica y eficiente que la tuya! No había caído en hacer una condición cuyo resultado sea 0.
Una cosa, no se debería comprobar también en la resta qué ocurre si el resultado es 0?
La lógica siempre es algo que me ha costado mucho, y a costa de meter horas voy mejorando... pero aún me cuesta