Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

vantagem gasolina ou alcool

Ola! Estou tentando criar um codigo que calcula se eh mais vantagem abastecer com alcool ou gasolina, mas o codigo esta retornando erro: combustivel.rb:19:in calcular': wrong number of arguments (given 0, expected 2) (ArgumentError) from combustivel.rb:33:in'

def da_boas_vindas
    puts "Alcool ou gasolina?"
    puts "Qual eh o seu nome?"
    nome = gets.strip
    puts "\n\n"
    puts "Vamos calcular, #{nome} "
    puts "\n\n"
end

def valores
    puts "Digite o valor do Alcool:"
    valor_do_alcool = gets
    puts "Digite o valor da Gasolina:"
    valor_da_gasolina = gets
    return valor_do_alcool.to_i
    return valor_da_gasolina.to_i
end

def calcular(valor_do_alcool, valor_da_gasolina)
    vantagem = valor_do_alcool / valor_da_gasolina
end

def final(vantagem)
    if vantagem >= 0.7
        puts "Abasteca com gasolina!"
    else
        puts "Abasteca com alcoo!"
    end
end

da_boas_vindas
valores
calcular
final
3 respostas
solução!

Lucas o erro acontece por que você está executando a função calcular sem informar nenhum valor. E você pede dois valores como parâmetro.

Outro detalhe é que a sua função valores está tentando retornar dois valores, isso também é um problema, cada função só pode retornar um valor.

Isso já ajuda ou você quer uma solução em código? :)

Wanderson, obrigado... consegui dar uma simplificada no codigo e parece que resolveu!

def da_boas_vindas
    puts "Alcool ou gasolina?"
    puts "Qual eh o seu nome?"
    nome = gets.strip
    puts "\n\n"
    puts "Vamos calcular, #{nome} "
    puts "\n\n"
end

def calcular
    puts "Digite o valor do Alcool:"
    valor_do_alcool = gets.to_f
    puts "Digite o valor da Gasolina:"
    valor_da_gasolina = gets.to_f

    vantagem = valor_do_alcool / valor_da_gasolina
    if vantagem >= 0.7
        puts "Abasteca com gasolina!"
    else
        puts "Abasteca com alcoo!"
    end
end

da_boas_vindas
calcular

Opa, parece que ficou bem melhor, não foi? Ficou ótimo pra mim! Lembra de marcar o post que resolveu seu problema como solução do tópico por favor? Lembre sempre de fazer isso, tá bem?