Para manejar las conversiones de temperatura, su tabla de conversión debe tener un multiplicador y una compensación. Para F --> C, por ejemplo, el desplazamiento sería -32 y el multiplicador 5/9.
Si conoce todas las unidades posibles de antemano, entonces un mensaje basado en tablas funciona bien. Sin embargo, si desea un sistema completamente flexible, como metros^5*litros a pulgadas^5*galones, querrá una tabla de unidades básicas y una función definida por el usuario para realizar la conversión. Esta función probablemente usaría un cte recursivo para analizar la expresión de unidades. Todo esto sería bastante complicado, así que espero que tengas una lista completa de unidades.