Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Desafío: Simulador de pedidos en una cafetería

Algoritmo representado con un syntax de Javascript, sin ser código completamente funcional, ya que estamos con programación:

// askUserInput(string) es una función que recibiría un mensaje a mostrar 
// y permitiría al usuario insertar datos en la consola, se puede hacer con 
// una librería como @clack/prompts, pero no hace falta entrar en tantos detalles.

const articulos = askUserInput("¿Cuántos artículos son?");
let articulo = { nombre: "", precio: 0 };
const arrayArticulos = [];
let precioTotal = 0;

for (let i = 1; i <= articulos; i++) {
    articulo.nombre = askUserInput(`Ingresa el nombre del articulo No. ${i}`);
    articulo.precio = askUserInput(`Ingresa el precio del articulo No. ${i}`);
    precioTotal = precioTotal + articulo.precio;
    
    arrayArticulos.push(articulo);
    articulo = { nombre: "", precio: 0 };
}

const registrado = askUserInput("¿El cliente está registrado? (S/N)")
if (registrado === "S") {
    precioTotal = precioTotal * 0.9 // 90% del valor, o sea, un 10% de descuento
}

console.log(`Precio a cobrar: ${precioTotal}`);
1 respuesta

Hola, Jairo! ¿Cómo vas?
Gracias por compartir tus reflexiones y aprendizajes con la comunidad Alura.

Me gustó cómo organizaste el simulador usando variables, un arreglo para guardar los artículos y una estructura de repetición con for. También fue una buena decisión comentar la función askUserInput, porque ayuda a entender la intención del algoritmo aunque todavía no sea un código completamente funcional. Un punto importante sería convertir el precio ingresado a número, ya que muchas entradas de usuario llegan como texto y eso puede afectar la suma.

Consejo: al recibir el precio, puedes transformarlo antes de sumarlo, por ejemplo con Number(), así: articulo.precio = Number(askUserInput("Ingresa el precio del articulo")). De esa forma, el cálculo de precioTotal queda más seguro. Vas muy bien conectando lógica de programación con una sintaxis parecida a JavaScript. ¿Probaste simular el pedido con dos o tres productos para validar si el descuento se aplica correctamente?

Cuenta con el apoyo del foro en tu viaje. Saludos y buenos estudios!