I am trying to make a speed calculator that takes speed input and distance needed to cover input and it should return the time needed to cover this distance based on the formula ‘speed = distance / time’, I also make the user input km if the distance is in kilometers or m if the distance is in meters and I use an If statement to turn the kilometers into meters.
io.write("enter speed(m/s):")
local speed = io.read()
io.write("enter distance needed:")
local distance = io.read()
io.write("specify((m) or(km)):")
local units = io.read()
local meters = "m"
local kilometers = "km"
local hundred
if units == meters then
local usedist = distance
elseif units == kilometers then
local usedist = distance * hundred
else
io.write("you did not enter a valid character, please restart the program by pressing 'enter'")
io.read()
end
print(usedist)
local timeneeded = usedist / speed
local timeneededh = timeneeded / 3600
os.execute("cls")
io.write("it will need "..timeneeded.." seconds or "..timeneededh.." hours")
io.write("n")
io.write("press the 'enter' key to continue")
io.read()
I was expecting a value of time in seconds but I got this
enter speed(m/s):5
enter distance needed:9
specify((m) or(km)):km
C:Lualua54.exe: object-time-calc.lua:15: attempt to mul a 'string' with a 'nil'
stack traceback:
[C]: in metamethod 'mul'
object-time-calc.lua:15: in main chunk
[C]: in ?
COMPUTER MAESTRO is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.