Hello! I come from Hong Kong, my English isn't good enough. I hope that you understand what I have said.
In your program, the type "Temperature" have a mistake. The "Celsius" convert to "Kelvin" should be plus 273. For example, 25 degree celsius equal to 298 kelvin. But, you subtract 273. I hope you can fix it. Thank you.