Ejemplo 11: La cafetería
Descripción
Imagina que trabajas en una pequeña cafetería llamada JavaBrew. Cada cliente que llega hace un pedido de café y tú, como encargado del sistema, necesitas calcular cuánto debe pagar.
Este flujo refleja dos necesidades típicas:
Repetir el menú tantas veces como quiera el cliente → usar do...while.
Validar datos (cantidad > 0, pago positivo, entrada numérica) → usar while para repetir la solicitud hasta que la entrada sea válida.
Requisitos del ejercicio (lo que debe hacer el programa)
Mostrar un menú de opciones con tres tipos de café y sus precios.
Permitir que el usuario elija el tipo de café y la cantidad de tazas.
Calcular el costo total de ese pedido.
Preguntar si hay otro cliente en la fila.
Repetir el proceso mientras sigan llegando clientes.
Al final, mostrar el total de ventas del día.
Estructura sugerida del programa
Mostrar el menú de opciones de café
Café americano → $25
Café capuchino → $30
Café latte → $35
Solicitar el tipo de café (1, 2 o 3).
Solicitar la cantidad de tazas.
Calcular el total de ese pedido y mostrarlo.
Acumular el total en una variable general (ventasTotales).
Preguntar si hay otro cliente (sí/no) usando un do...while.
Terminar cuando el usuario responda “no”.
Mostrar el total del día.
Código de ejemplo
Explicación del código
Variables:
ventasTotalesacumula las ventas del día.continuarcontrola si hay más clientes.Ciclo do...while: Permite repetir el proceso mientras haya clientes.
Menú y selección: Se muestra un menú y se captura la opción del café.
Validación de opción: Si la opción no es válida, se muestra un mensaje y se reinicia el ciclo.
Cantidad y cálculo: Se solicita la cantidad, se calcula el total del pedido y se acumula en
ventasTotales.Continuar: Se pregunta si hay otro cliente. Si la respuesta es "sí", el ciclo se repite.
Total del día: Al finalizar, se muestra el total de ventas del día.
Extensión opcional (para avanzar luego)
Validar que la cantidad de tazas no sea negativa ni cero.
Mostrar un resumen con el número de clientes atendidos.
Agregar otro producto como pan o pastel y combinar pedidos.