Loading repository data…
Loading repository data…
marichu-kt / repository
Simulador de máquina expendedora desarrollado en C# con interfaz de consola. Permite a los usuarios seleccionar productos, realizar pagos y recibir cambios, todo gestionado mediante programación orientada a objetos. Ideal para practicar conceptos fundamentales de C# y diseño de aplicaciones de consola.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
¡Bienvenido al repositorio de la Máquina Expendedora! 👋
Este proyecto implementa una aplicación de máquina expendedora en C# que simula el funcionamiento de una máquina utilizada para expender productos como bebidas, chocolatinas, etc. La aplicación ofrece una interfaz de usuario intuitiva que permite a los usuarios definir parámetros de doblado y visualizar el resultado de la operación.
Esta práctica consiste en el desarrollo de una aplicación en modo consola que simule una máquina expendedora para vender diferentes tipos de productos utilizando diferentes tipos de métodos de pago.
El programa debe mostrar una interfaz de usuario básica con los diferentes productos que ofrecen las máquinas y las siguientes opciones:
Comprar productos: esta opción permite al usuario introducir el/los ID del producto o productos que desea adquirir. Si se desean varios productos, el sistema solicitará IDs de producto hasta que el usuario decida proceder al pago. El proceso debe seguir los siguientes pasos:
Se debe permitir al usuario cancelar la operación en cualquier momento.
Mostrar información del producto: Esta opción permite al usuario ver la información completa sobre el producto. El proceso debe seguir los siguientes pasos:
Carga individual de productos (Admin): Esta opción permite a los usuarios de tipo Administrador reponer los productos existentes o añadir nuevos productos a la máquina si el espacio lo permite. Permite: (1) añadir existencias a los productos existentes; y (2) añadir nuevos tipos de productos en las ranuras disponibles.
Carga completa de productos (Admin): esta opción permitirá a los usuarios de tipo Administrador cargar el contenido de la máquina utilizando un archivo.
Salir: esta opción permitirá salir del programa.
Las opciones de administración requieren la introducción de una clave secreta para continuar. Esto significa que se debe pedir al usuario la clave cuando se elige esta opción y volver al menú principal si la clave no es válida.
El siguiente diagrama ilustra las funciones básicas del programa:
La máquina expendedora está diseñada para dispensar una diversa gama de productos clasificados en tres tipos principales: (1) materiales preciosos, (2) productos alimenticios y (3) productos electrónicos. Todos los productos comparten las siguientes características comunes:
Además, existen diferentes tipos de productos(materiales preciosos, productos alimenticios y productos electrónicos) que presentan características únicas:
El usuario administrador se encarga de abastecer la máquina expendedora, ya sea de forma individual o mediante una carga de archivo. Para las actualizaciones masivas, se requiere la utilización de un archivo CSV (Comma-Separated Values) utilizando un punto y coma (;) como delimitador. El formato estructurado de este archivo incluye especificaciones detalladas para la carga de productos:
Para desarrollar el programa hay que tener en cuenta diferentes consideraciones:
La máquina tendrá 12 slots de productos