Skip to content

Instantly share code, notes, and snippets.

@famgz
Last active December 15, 2023 01:06
Show Gist options
  • Save famgz/7032f4bb63fe786c4e14374bfcd85950 to your computer and use it in GitHub Desktop.
Save famgz/7032f4bb63fe786c4e14374bfcd85950 to your computer and use it in GitHub Desktop.
// # Sistema de Pedidos em um Restaurante
const menu = {}
const pedidos = {}
// - Deverá criar uma funcao `criarItemDoMenu` que recebe 3 parametros `nome`, `preco`, `ingredientes`
function criarItemDoMenu(nome, preco, ingredientes) {
menu[nome] = {
preco: preco,
ingredientes: ingredientes
}
}
// - Deverá criar uma funcao `adicionarAoPedido` que recebe 3 parametros `pedido`, `item`, `quantidade`
function adicionarAoPedido(pedido, item, quantidade) {
if(!Object.keys(menu).includes(item)) {
console.log(`O item ${item} nao consta no menu`)
return
}
if(!pedidos[pedido]) {
pedidos[pedido] = []
}
pedidos[pedido].push(
{
item: item,
quantidade: quantidade
}
)
}
// - Deverá criar uma funcao `calcularTotalDoPedido` que recebe 1 parametro `pedido`
function calcularTotalDoPedido(pedido) {
if(!Object.keys(pedidos).includes(pedido)) {
console.log(`O pedido de ${pedido} nao consta nos pedidos`)
return 0
}
pedido = pedidos[pedido]
let totalPedido = 0
for(let x of pedido) {
let preco = menu[x.item].preco
totalPedido += preco * x.quantidade
}
return totalPedido
}
criarItemDoMenu('pizza', 52, 'calabresa, queijo, tomate')
criarItemDoMenu('hamburguer', 35, 'pao, queijo, carne')
criarItemDoMenu('moqueca', 78, 'peixe, tomate, camarao, leite de coco')
criarItemDoMenu('sushi', 120, 'peixe, arroz, algas, shoyu')
adicionarAoPedido('P_01', 'pizza', 2)
adicionarAoPedido('P_01', 'sushi', 3)
adicionarAoPedido('P_02', 'hamburguer', 3)
adicionarAoPedido('P_02', 'moqueca', 2)
adicionarAoPedido('P_03', 'sushi', 4)
let totalPedidoP1 = calcularTotalDoPedido('P_01')
console.log(`O total do pedido total P_01 foi R$ ${totalPedidoP1}`)
let totalPedidoP2 = calcularTotalDoPedido('P_02')
console.log(`O total do pedido total P_02 foi R$ ${totalPedidoP2}`)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment