Primer Proyecto, IP, 2016
Primer Proyecto, IP, 2016
Primer Proyecto, IP, 2016
Introducción a la Programación
1er. Ciclo 2016
Proyecto 1
Gasolinera
Enunciado
Se requiere realizar un programa en C# de tipo consola que simule una Gasolinera, el cual llevará
el control del inventario y las ganancias de la misma. La gasolinera cuenta con las siguientes
características:
a. Cuatro bombas de servicio para los clientes.
b. Cada bomba puede despachar gasolina regular, súper y diésel.
c. Los clientes pueden decidir en cada bomba si quieren consumir por galón de gasolina o
diésel, o bien por cantidad de dinero equivalente a N galones.
d. Cada bomba cuenta con una forma de cobro del consumo de los clientes.
e. La gasolinera cuenta también con tres depósitos, de 50 galones cada uno, para almacenar
combustible: 1 para gasolina regular, 1 para gasolina súper y 1 para diésel. (Notar que
bombas y depósitos son entidades distintas)
Información de ventas:
22. Mostrar cantidad en galones vendida por cada bomba y el ingreso en quetzales. Mostrar
un total de las 4 bombas.
23. Mostrar cantidad en galones vendida por cada tipo combustible y el ingreso en quetzales.
Mostrar un total de todos los tipos de combustible. (Notar que el total de las bombas con
el total por tipo de combustible debería ser el mismo.)
24. Mostrar cantidad por cada tipo de combustible comprado por la gasolinera y el gasto en
quetzales. Mostrar un total de todos los tipos de combustible.
25. Mostrar al usuario ganancia total (si la hay) de la gasolinera.
ManejoDatos.cs: Este archivo contendrá la clase “ManejoDatos” que consta principalmente del
siguiente método que el usuario podrá utilizar:
bool CargaryEjecutarDatosArchivo(
string strRutaArchivo,
Gasolinera objGasolinera)
Devuelve verdadero si se logran cargar los datos correctamente del archivo especificado y se
logran ejecutar las ventas en la gasolinera enviada; de lo contrario devuelve falso.
Notar: se solicita un objeto de tipo “Gasolinera” en la cual el estudiante debe por lo menos
especificar el método: “EjecutarAcción”. Las características de este método se señalan en la
siguiente sección.
Clase Gasolinera:
El estudiante debe implementar el siguiente método en la clase “Gasolinera” el cual realizará una
venta dentro de la gasolina:
bool EjecutarAccion(
int intTipoCombustible,
int intBomba,
double dblCantidadCombustible,
double dblDineroVenta)
Donde:
intTipoCombustible:
o 1: Diésel
o 2: Regular
o 3: Súper
intBomba: Número de bomba elegida
dblCantidadCombustible: Cantidad de combustible a llenar o vender (si se elige comprar por
galones, de lo contrario el archivo tendrá -1).
dblDineroVenta: Cantidad de dinero que se desea gastar en una venta al cliente final. (si se
elige comprar por cantidad de dinero, de lo contrario el archivo tendrá -1).
1. Si el precio de la gasolina regular son Q31.00 por galón y el cliente desea consumir Q.
150.00, el resultado final de la bomba debe ser:
2. Si el precio del Diésel es Q27.50 por galón y el cliente desea comprar 5 galones, el
resultado final de la bomba debe ser:
Galones consumidos: 5
Venta en Quetzales: 137.50
Documentos requeridos:
El documento que se debe entregar deberá contener:
Carátula
Introducción
Análisis:
o Nombre del programa
o Objetivo general del programa (qué problema resuelve): Dar la descripción
necesaria para que cualquier persona comprenda en qué consiste el sistema.
o Alcance del programa: Señalar qué funciones se incluyen en el sistema. (Esto
debería estar alineado con lo especificado en este documento.)
Diseño:
o Diagrama(s) de flujo: Mostrar el proceso que seguirá la gasolinera con su(s)
interacción(es) principal(es) con los clientes.
o Diagrama de clases principales en el proyecto y breve descripción de cada una de
ellas, con sus métodos y atributos más importantes.
o Diseño de pantalla de cómo se verá el sistema.
Conclusiones
Bibliografía: Mencionar bibliografía de los conceptos de programación utilizados para la
creación de este programa.
Con el diseño realizado codificar en el lenguaje de alto nivel C#. Se deberá entregar:
Programa fuente, debidamente documentado internamente
Programa ejecutable
Manual de usuario
Aspectos a evaluar:
Análisis 15
Diseño 15
Manual de Usuario 10
Codificación 60
Total 100