sábado, enero 24, 2009

Máquina Expendedora

Enunciado:

Escribir un programa que simule una máquina expendedora de refrescos.

El programa ha de presentar un menú dónde se pueda elegir entre:

1- Sacar un refresco, en esta opción se ha de pedir el número del refresco que corresponderá al índice de la tabla de refrescos. Se ha de mostrar el nombre del refresco y su precio en caso de que esté agotado se mostrará un mensaje indicándolo. Si el producto está disponible se pedirá al usuario que introduzca la cantidad con la que va a pagar, en este caso se debe controlar que la cantidad introducida sea mayor o igual al precio del refresco, en caso negativo ha de mostrar el mensaje de importe insuficiente y volverá al menú principal, en caso afirmativo deberá calcular el cambio a devolver y mostrar un mensaje que muestre el número de monedas de cada tipo que se va a devolver, se ha de seguir el criterio de devolver el menor número de monedas y además se ha de tener en cuenta que las monedas son limitadas para ello llevaremos una tabla de monedas dónde se almacene la cantidad de cada una de ellas así como su valor, en caso de cambio insuficiente se mostrará en pantalla INTRODUZCA IMPORTE EXACTO y volverá al menú principal. Después de terminar la operación se ha de decrementar el número de monedas empleadas para el cambio así como el refresco expedido.

2- Reponer refrescos, en esta opción se ha de pedir el número del refresco e introducir la cantidad con la que se va a reponer quedando esta acumulada a la cantidad actual. Se debe de mostrar el nombre del refresco y la cantidad actual.

3- Inventario valorado, mostrará el contenido de la tabla de refrescos multiplicando la cantidad por precio y al final se ha de mostrar la suma total.

Ejemplo:

Refresco Cantidad Precio Importe

Coca cola 15 0.90 13.50
Cerveza 3 0.75 2.25

TOTAL INVENTARIO 15.75

4- Mostrar cambio, mostrará el contenido de la tabla de cambio multiplicando el número de monedas por su valor y sumando todos los importes.

5- Reponer Cambio, en esta opción se ha de pedir el número de moneda e introducir la cantidad con la que se va reponer quedando acumulada a la cantidad actual. Se ha de mostrar el valor de la moneda y la cantidad actual.

6- Retirar Cambio, permitirá sacar dinero, se debe pedir el numero de moneda, mostrándose por pantalla la cantidad actual y su valor, se pedirá la cantidad a retirar que ha de ser igual o inferior a la cantidad actual, la tabla cambio quedará actualizada con la cantidad retirada. para la realización de este programa son necesarias una tabla de refrescos dónde el tipo base será una estructura con el nombre del refresco, la cantidad y el precio. Se considera un refresco agotado cuando la cantidad es 0, no debería de ser posible tener cantidades negativas. También se necesita una tabla de cambio dónde el tipo base será una estructura con el valor de la moneda o billete y la cantidad, tampoco será posible tener cantidades negativas.

Mejora. Una mejora opcional consiste en la introducción desglosada de monedas en el precio a pagar del refresco, de tal forma que si la operación se realiza, esto es, hay cambio suficiente, el importe desglosado pasaría a aumentar el correspondiente cambio.

Posible Solución: Máquina Expendedora - ANSI C

No hay comentarios.: