# Programming Fundamentals/Conditions/Lua

## conditions.lua

```-- This program asks the user to select Fahrenheit or Celsius conversion
-- and input a given temperature. Then the program converts the given
-- temperature and displays the result.
--
-- References:
--     https://www.mathsisfun.com/temperature-conversion.html
--     https://www.lua.org/manual/5.1/manual.html

function get_choice()
io.write("Enter F to convert to Fahrenheit or C to convert to Celsius:", "\n")
return choice
end

function get_temperature(label)
local temperature

print("Enter " .. label .. " temperature:")

return temperature
end

function calculate_celsius(fahrenheit)
local celsius

celsius = (fahrenheit - 32) * 5 / 9

return celsius
end

function calculate_fahrenheit(celsius)
local fahrenheit

fahrenheit = celsius * 9 / 5 + 32

return fahrenheit
end

function display_result(temperature, from_label, result, to_label)
print(temperature .. "° " .. from_label .. " is " .. result .. "° " .. to_label)
end

function main()
local choice
local temperature
local result

choice = get_choice()
if choice == "C" or choice == "c" then
temperature = get_temperature("Fahrenheit")
result = calculate_celsius(temperature)
display_result(temperature, "Fahrenheit", result, "Celsius")
elseif choice == "F" or choice == "f" then
temperature = get_temperature("Celsius")
result = calculate_fahrenheit(temperature)
display_result(temperature, "Celsius", result, "Fahrenheit")
else
io.write("You must enter C to convert to Celsius or F to convert to Fahrenheit!", "\n")
end
end

main()
```

## Try It

Copy and paste the code above into one of the following free online development environments or use your own Lua compiler / interpreter / IDE.