JavaScript desde cero | 7.11 - Consejos finales

Alfredo Mendoza Fuentes@amefu

product.js

1const menu = [ 2 {id:100,name:'Papa Fritas', price:100}, 3 {id:200,name:'Hamburguesa Especial', price:50}, 4 {id:300,name:'Hamburguesa Mixta', price:40}, 5 {id:400,name:'Pizza', price:80}, 6 {id:500,name:'Soda', price:10}, 7] 8

index.js

1 2 3const usuario={nombre:'Alfredo', edad:'25', deuda:0} 4let pedidoUser = [] 5let ganancias = 0 6 7//Lista de los productos del menu 8const vermenu = () => { 9 console.log("ID - MENU - PRECIO") 10 menu.forEach(carta => console.log(`Id: ${carta.id} Nombre:${carta.name} Precio:${carta.price}`)) 11 return '' 12} 13 14//Formulario para realizar una orden 15const pedirProducto = codigo => { 16 while(codigo === null || codigo === undefined){ 17 codigo = prompt("Digite el codigo") 18 } 19 20 const ProductValid = menu.find(prod => prod.id === parseInt(codigo)) 21 22 23 if(!ProductValid) 24 { 25 alert("Digite un codigo de producto valido") 26 pedirProducto() 27 } 28 else{ 29 alert(`Has pedido una ${ProductValid.name} de S/.${ProductValid.price} se agregara a tu cuenta`) 30 pedidoUser.push(ProductValid) 31 32 let newpedido = prompt('Desea seguir ordenando ? Responsa si ó no ') 33 if(newpedido === "si") 34 { 35 pedirProducto() 36 } 37 else{ 38 verPedido() 39 } 40 } 41} 42//Método para ver los pedidos realizados 43const verPedido = () => pedidoUser 44 45vermenu() 46 47const calcularCosto = () => { 48 let costo = 0 49 pedidoUser.forEach(prod => costo+= prod.price) 50 usuario.deuda = costo 51 return usuario.deuda 52} 53 54const reporteVentas = () => `El día de hoy se ha ganado S/.${ganancias}` 55 56const pagarPedido = () => { 57 let monto 58 59 do { 60 monto = parseInt(prompt("Ingrese la cantidad de dinero a pagar")) 61 } while (monto <0 || isNaN(monto) ) 62 63 switch(true) 64 { 65 case (monto === 0): 66 console.log('No puedes pagar con 0 soles') 67 break; 68 case (monto > usuario.deuda): 69 let vuelto = (monto - usuario.deuda).toFixed(2) 70 alert(`Su deuda es de S/.${usuario.deuda} has pagado con S/.${monto} su vuelto es de S/.${vuelto}`) 71 ganancias+= usuario.deuda 72 usuario.deuda = 0 73 break 74 case (monto === usuario.deuda): 75 alert(`Su deuda es de S/.${usuario.deuda} Has pagado con S/.${monto} no hay vuelto`) 76 ganancias+= usuario.deuda 77 usuario.deuda = 0 78 break 79 case (monto < usuario.deuda): 80 alert('El dinero no te alcanza para cancelar tu deuda') 81 break 82 default: 83 alert('No tienes nada por pagar') 84 } 85} 86 87//Finaliza el pedido y se encarga de realizar el cálculo y cobro 88const finalizarPedido = () => { 89 calcularCosto() 90 pedidoUser = [] 91 do { 92 pagarPedido() 93 } while (usuario.deuda > 0); 94}

Escribe una respuesta