Пытается найти будущее значение одной суммы.Как запустить вычисление после того, как методы определены в Ruby?
Я создал и определил текущую стоимость, курс и годы. Они все работают вместе, и теперь я пытаюсь выяснить, как взять введенные числа для каждого и рассчитать их для окончательного значения.
Формула я использую:
(fv = pv * (1+r) ** n)
, но не уверен, как получить рубин запустить расчет?
Вот мой код программы:
# Расчет БУДУЩЕЙ СТОИМОСТИ ДЛЯ ОДНОГО СУММУ
def input
count = 0
puts "How much money you would like to invest? The amount must be at least $100 but no more than $50,000. (ex. 1000 = $1,000)"
pv = gets.chomp.to_i
while ((count < 3) && (pv < 100 || pv > 50000))
puts""
puts "YOU MUST ENTER A VALID NUMBER. PLEASE TRY AGAIN."
puts ""
count = count + 1
puts""
puts "How much money you would like to invest? The amount must be at least $100 but no more than $50,000. (ex. 1000 = $1,000)"
pv = gets.chomp.to_i
while ((count < 3) && (pv < 100 || pv > 50000))
puts""
puts "YOU MUST ENTER A VALID NUMBER. PLEASE TRY AGAIN."
count = count + 1
puts""
puts "How much money you would like to invest? The amount must be at least $100 but no more than $50,000. (ex. 1000 = $1,000)"
pv = gets.chomp.to_i
end
end
if (count >= 3)
puts ""
puts "TRY AGAIN LATER..."
puts "" && exit
return pv
end
count = 0
puts "What is the annual rate of interest? (ex. .08 = 8%) The rate must be greater than 0.00 and less than or equal to 0.20"
r = gets.chomp.to_f
while ((count <3) && (r < 0.00 || r > 0.20))
puts""
puts 'YOU MUST ENTER A VALID RATE. PLEASE SEE EXAMPLE ABOVE.'
puts ""
count = count + 1
puts ""
puts "What is the annual rate of interest? (ex. .08 = 8%) The rate must be greater than 0.00 and less than or equal to 0.20"
r = gets.chomp.to_f
while ((count <3) && (r < 0.00 || r > 0.20))
puts 'YOU MUST ENTER A VALID RATE. PLEASE TRY AGAIN.'
puts ""
count = count + 1
puts ""
puts "What is the annual rate of interest? (ex. .08 = 8%) The rate must be greater than 0.00 and less than or equal to 0.20"
r = gets.chomp.to_f
end
end
if (count >=3)
puts ""
puts "TRY AGAIN LATER..."
puts "" && exit
return r
end
count = 0
puts "How many years will the investment be for? (ex. 2 = 2 years) Please enter a number between 1 and 30."
n = gets.chomp.to_i
while ((count < 3) && (n < 1 || n > 30))
puts""
puts"YOU MUST ENTER AT LEAST ONE YEAR. PLEASE SEE EXAMPLE ABOVE."
puts""
count = count + 1
puts ""
puts "How many years will the investment be for? (ex. 2 = 2 years) Please enter a number between 1 and 30."
n = gets.chomp.to_i
while ((count < 3) && (n < 1 || n > 30))
puts""
puts"PLEASE ENTER A VALID NUMBER. PLEASE TRY AGAIN."
puts""
count = count + 1
puts""
puts "How many years will the investment be for? (ex. 2 = 2 years) Please enter a number between 1 and 30."
n = gets.chomp.to_i
end
end
if (count >= 3)
puts""
puts "TRY AGAIN LATER..."
puts "" && exit
return n
end
end
puts input
def final_value (fv)
pv = 1000 #want user's input here
r = 0.05 #want user's input here
n = 5 #want user's input here
fv = pv * (1+r) ** n
puts "After #{n} years you will have $#{fv.round(2)}!"
puts ""
puts "Press ENTER to exit."
end
puts final_value()
gets
Что делать, если пользователь вводит значения pv, r и n? Как сохранить запись для использования этого метода? – Renee
См. Мой обновленный ответ. Вы можете вводить данные от пользователя, используя метод 'get', а затем:' get.strip', чтобы удалить пробелы и символы новой строки во входном файле, а затем '.to_f', чтобы преобразовать строку в значение float. И сохраните его в соответствующей переменной, как показано в моем обновленном ответе. Дайте мне знать, если у вас есть другие вопросы. –
Я получаю сообщение об ошибке при определении метода ... "'final_value': неправильное количество аргументов (1 для 3) (ArgumentError) – Renee