Created
November 6, 2025 23:48
-
-
Save RobertoBarros/cef0c0223b8bc4fd09644c858bde065b to your computer and use it in GitHub Desktop.
batch_2175_reboot_instacart_part_2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Mensagem de boas vindas | |
| puts "-" * 30 | |
| puts "Bem vindos a Pé de Pano store" | |
| puts "-" * 30 | |
| # Definir os produtos (nome, preço) disponíveis | |
| products = { | |
| "kiwi" => 1.25, | |
| "banana" => 0.5, | |
| "manga" => 4.0, | |
| "aspargo" => 9.0 | |
| } | |
| # Mostrar os produtos com o respectivo preço | |
| puts "Hoje nós temos os seguintes produtos disponíveis:" | |
| products.each do |item, price| | |
| puts "#{item}: #{price}" | |
| end | |
| puts "-" * 30 | |
| cart = [] | |
| # LOOP | |
| loop do | |
| # Perguntar qual o produto ou `quit` para encerrar | |
| puts "Qual produto você gostaria de comprar hoje? ou 'quit' para sair" | |
| answer = gets.chomp.downcase.strip | |
| # Se o usuário digitou `quit` sai do loop | |
| break if answer == "quit" | |
| # Armazenar o produto no carrinho do usuário se ele existir | |
| if products.key?(answer) | |
| # Perguntar a quantidade de produtos | |
| puts "Qual quantidade de #{answer} você deseja?" | |
| quantity = gets.chomp.to_i | |
| cart << { | |
| item: answer, | |
| quantity: quantity | |
| } | |
| else | |
| puts "Desculpe, produto #{answer} não disponível" | |
| end | |
| #FIM LOOP | |
| end | |
| # cart é um array de hashes do tipo: | |
| # [{item: "banana", quantity: 20}, {item: "manga", quantity: 10}] | |
| # Calcular o subtotal e total dos produtos no carrinho | |
| total = 0 | |
| puts "-" * 30 | |
| cart.each do |info| | |
| item = info[:item] | |
| quantity = info[:quantity] | |
| price = products[item] | |
| subtotal = quantity * price | |
| # Mostrar o subtotal por item | |
| puts "#{item}: #{quantity} X #{price} = #{subtotal}" | |
| total += subtotal | |
| end | |
| # Mostrar o total dos produtos no carrinho | |
| puts "-" * 30 | |
| puts "O valor total de sua compra foi: #{total}" | |
| puts "-" * 30 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment