Alfredo Mendoza Fuentes@amefu
product.js
const menu = [
{id:100,name:'Papa Fritas', price:100},
{id:200,name:'Hamburguesa Especial', price:50},
{id:300,name:'Hamburguesa Mixta', price:40},
{id:400,name:'Pizza', price:80},
{id:500,name:'Soda', price:10},
]
index.js
const usuario={nombre:'Alfredo', edad:'25', deuda:0}
let pedidoUser = []
let ganancias = 0
//Lista de los productos del menu
const vermenu = () => {
console.log("ID - MENU - PRECIO")
menu.forEach(carta => console.log(`Id: ${carta.id} Nombre:${carta.name} Precio:${carta.price}`))
return ''
}
//Formulario para realizar una orden
const pedirProducto = codigo => {
while(codigo === null || codigo === undefined){
codigo = prompt("Digite el codigo")
}
const ProductValid = menu.find(prod => prod.id === parseInt(codigo))
if(!ProductValid)
{
alert("Digite un codigo de producto valido")
pedirProducto()
}
else{
alert(`Has pedido una ${ProductValid.name} de S/.${ProductValid.price} se agregara a tu cuenta`)
pedidoUser.push(ProductValid)
let newpedido = prompt('Desea seguir ordenando ? Responsa si ó no ')
if(newpedido === "si")
{
pedirProducto()
}
else{
verPedido()
}
}
}
//Método para ver los pedidos realizados
const verPedido = () => pedidoUser
vermenu()
const calcularCosto = () => {
let costo = 0
pedidoUser.forEach(prod => costo+= prod.price)
usuario.deuda = costo
return usuario.deuda
}
const reporteVentas = () => `El día de hoy se ha ganado S/.${ganancias}`
const pagarPedido = () => {
let monto
do {
monto = parseInt(prompt("Ingrese la cantidad de dinero a pagar"))
} while (monto <0 || isNaN(monto) )
switch(true)
{
case (monto === 0):
console.log('No puedes pagar con 0 soles')
break;
case (monto > usuario.deuda):
let vuelto = (monto - usuario.deuda).toFixed(2)
alert(`Su deuda es de S/.${usuario.deuda} has pagado con S/.${monto} su vuelto es de S/.${vuelto}`)
ganancias+= usuario.deuda
usuario.deuda = 0
break
case (monto === usuario.deuda):
alert(`Su deuda es de S/.${usuario.deuda} Has pagado con S/.${monto} no hay vuelto`)
ganancias+= usuario.deuda
usuario.deuda = 0
break
case (monto < usuario.deuda):
alert('El dinero no te alcanza para cancelar tu deuda')
break
default:
alert('No tienes nada por pagar')
}
}
//Finaliza el pedido y se encarga de realizar el cálculo y cobro
const finalizarPedido = () => {
calcularCosto()
pedidoUser = []
do {
pagarPedido()
} while (usuario.deuda > 0);
}
