Skip to content

Instantly share code, notes, and snippets.

@jeccb-zz
Created November 18, 2016 15:19
Show Gist options
  • Save jeccb-zz/64e9fcf8d6c9af4c87309f7dd33ad217 to your computer and use it in GitHub Desktop.
Save jeccb-zz/64e9fcf8d6c9af4c87309f7dd33ad217 to your computer and use it in GitHub Desktop.
#!/usr/bin/env ruby
class CashMachine
available_cash = [100, 50, 20, 10]
banknotes = {};
print "What value you whish take out? "
value = gets.chomp
value = value.to_i
(0..available_cash.length).each do |cash|
break if cash == 4
count = 0
if available_cash[cash] <= value
count = count + 1
banknotes[available_cash[cash]] = count
value -= available_cash[cash]
end
end
banknotes.each {|k, v|
p "Entregue #{v} de #{k}"
}
end
@jeccb-zz
Copy link
Author

class CashMachine
  attr_reader :available_cash, :banknotes

  def initialize
    @available_cash = [100, 50, 20, 10]
    @banknotes = {};
  end

  def calculate_change(amount)
    available_cash.each_with_index do |index, cash|
      count = 0

      if available_cash[cash] <= amount
        count = count + 1
        banknotes[available_cash[cash]] = count
        amount -= available_cash[cash]
      end
    end
  end
end

print "What value you whish take out? "
value = gets.chomp
value = value.to_i

cash_machine = CashMachine.new
cash_machine.calculate_change(value)

cash_machine.banknotes.each {|k, v|
  p  "Delivered #{v} of #{k}"
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment