Está en la página 1de 6

using System.

Text;

namespace ConsoleApplication11GasolinaPoli
{
class Combustible
{
public string ClaveCombustible;
public double Precio;
public double Litros, Importe, ImptTotal, Descuento, Pago, Cambio;

public void RegistrarVenta()


{
Console.Write("\n\nIngrese cantidad de Litros:");
Litros = double.Parse(Console.ReadLine());
}

public void RealizarCalculos()


{
Importe = Litros * Precio;
if (Litros > 30)
{
Descuento = Importe * 0.15;
}
else if (Litros > 25)
{
Descuento = Importe * 0.1;
}
else if (Litros > 20)
{
Descuento = Importe * 0.085;
}
else
{
Descuento = 0;
}
ImptTotal = Importe - Descuento;
while (Pago < ImptTotal)
{
Console.WriteLine("Importe sin descuento: " + Importe);
Console.WriteLine("Descuento: " + Descuento);
Console.WriteLine("Importe total a pagar: " + ImptTotal);
Console.Write("Ingrese pago: ");
Pago = double.Parse(Console.ReadLine());
if (Pago < ImptTotal)
{
Console.WriteLine("Error, el pago debe ser mayor o igual al
importe \n\n");
}
}
Cambio = Pago - ImptTotal;
Console.WriteLine("Venta Registrada\n\n Presione cualquier tecla para
continuar");
Console.ReadKey();
}

public void MostrarResultados()


{
Console.WriteLine("Tipo de Combustible: " + ClaveCombustible);
Console.WriteLine("\nPrecio: " + Precio);
Console.WriteLine("\nLitros: " + Litros);
Console.WriteLine("\nImporte:" + Importe);
Console.WriteLine("\nDescuento: " + Descuento);
Console.WriteLine("\nImporte Total: " + ImptTotal);
Console.WriteLine("\n\n Presione cualquier tecla para continuar \n\n");
Console.ReadKey();
}
}

class Gasolina : Combustible


{
public string NumFactura,NombreCliente, RFC=" ", Direccion=" ", CP= " ";
public int RegistroVenta=0;
public string Fecha=" ";
public int OpMenuGasolina;
public double subtotal, IVA, IEPS, Total;

public void RegistrarFactura()


{
if (RegistroVenta == 1)
{
Console.WriteLine("===============================");
Console.WriteLine("Registro de Factura");
Console.Write("Nmero de Factura:");
NumFactura = Console.ReadLine();
Console.WriteLine(" Ingrese datos del Cliente ");
Console.Write("Nombre del Cliente: ");
NombreCliente = Console.ReadLine();
Console.Write("RFC Completo: ");
RFC = Console.ReadLine();
Console.Write("Direccion: ");
Direccion = Console.ReadLine();
Console.Write("Cdigo Postal: ");
CP = Console.ReadLine();
Console.Write("Fecha de la Factura: ");
Fecha = Console.ReadLine();
subtotal = ImptTotal;
IVA = subtotal * 0.16;
if(ClaveCombustible == "Gasolina Magna")
IEPS=Litros*4.30;
else
if (ClaveCombustible == "Gasolina Premium")
IEPS=Litros*3.64;
Total = subtotal + IVA + IEPS;
Console.WriteLine("\nNmero de Factura:" + NumFactura);
Console.WriteLine("\n\nFecha: " + Fecha);
Console.WriteLine("\nNombre del Cliente: "+NombreCliente);
Console.WriteLine("\nRFC: " + RFC);
Console.WriteLine("\nDireccion: " + Direccion);
Console.WriteLine("\nCdigo Postal: " + CP);
Console.WriteLine("\n\nConsumo de "+ClaveCombustible);
Console.WriteLine("\n\n\n Subtotal " + subtotal);
Console.WriteLine("\n\n\n I V A " + IVA);
Console.WriteLine("\n\n\n I E P S " + IEPS);
Console.WriteLine("===================================");
Console.WriteLine("\n\n\n Total " + Total);
}
else
{
Console.WriteLine("Error no se ha registrado alguna venta de
gasolina \n\n Necesita registrar una venta de gasolina \n\n");
}
}

public void MenuGasolina()


{
while (OpMenuGasolina != 4)
{
Console.WriteLine("\n\n===============================");
Console.WriteLine(" Men Gasolina ");
Console.WriteLine("===============================");
Console.WriteLine(" [1] Magna $12.12");
Console.WriteLine(" [2] Premium $14.20");
Console.WriteLine(" [3] Generar Factura");
Console.WriteLine(" [4] Regresar Men Anterior ");
Console.WriteLine("================================");
Console.Write(" Seleccione una opcin ");
OpMenuGasolina = int.Parse(Console.ReadLine());
switch (OpMenuGasolina)
{
case 1:
{

ClaveCombustible = "Gasolina Magna";


Precio = 12.12;
RegistrarVenta();
RealizarCalculos();
MostrarResultados();
RegistroVenta = 1;
break;
}
case 2:
{
Precio = 14.20;
ClaveCombustible = "Gasolina Premium";
RegistrarVenta();
RealizarCalculos();
MostrarResultados();
RegistroVenta = 1;
break;
}
case 3:
{
RegistrarFactura();
break;
}
case 4:
{
Console.WriteLine("Regresando al Men Principal");
return;
}

default:
{
Console.Write("\n\n Error, Opcin incorrecta, Recuerda
que las opciones son del 1 al 3 \n\n");
break;
}
}
}
}

class Diesel : Combustible


{
public string NumNotaVenta, NomCliente=" ";
public int RegistroVenta = 0;
public string FechaVenta = " ", FechaPago= " ";
public int OpMenuDiesel;

public void NotaVenta()


{
if (RegistroVenta == 1)
{
Console.WriteLine("===============================");
Console.WriteLine("Registro de Nota/Venta");
Console.Write("Nmero Nota de Venta: ");
NumNotaVenta = Console.ReadLine();
Console.WriteLine(" Ingrese datos del Cliente ");
Console.Write("Nombre del Cliente: ");
NomCliente = Console.ReadLine();
Console.Write("Fecha de la Venta: ");
FechaVenta = Console.ReadLine();
Console.Write("Fecha de Pago: ");
FechaPago = Console.ReadLine();
Console.WriteLine("\nNota de Venta Nmero: " + NumNotaVenta);
Console.WriteLine("\n\nFecha de Venta: " + FechaVenta);
Console.WriteLine("Nombre del Cliente: " + NomCliente);
Console.WriteLine("\n\nFecha de Pago: " + FechaPago);
MostrarResultados();
}
else
{
Console.WriteLine("Error no se ha registrado alguna venta de Diesel
\n\n Necesita registrar una venta de gasolina \n\n");
}
}
public void MenuDiesel()
{
while (OpMenuDiesel != 4)
{
Console.WriteLine("\n\n===============================");
Console.WriteLine(" Men Diesel ");
Console.WriteLine("===============================");
Console.WriteLine(" [1] Convencional $17.38");
Console.WriteLine(" [2] Agricola $18.20");
Console.WriteLine(" [3] Generar Nota Venta ");
Console.WriteLine(" [4] Regresar Men Anterior ");
Console.WriteLine("================================");
Console.Write(" Seleccione una opcin ");
OpMenuDiesel = int.Parse(Console.ReadLine());
switch (OpMenuDiesel)
{
case 1:
{

ClaveCombustible = "Diesel Convencional";


Precio = 17.38;
RegistrarVenta();
RealizarCalculos();
MostrarResultados();
RegistroVenta = 1;
break;
}
case 2:
{
Precio = 18.20;
ClaveCombustible = "Diesel Agricola";
RegistrarVenta();
RealizarCalculos();
MostrarResultados();
RegistroVenta = 1;
break;
}
case 3:
{
NotaVenta();
break;
}
case 4:
{
Console.WriteLine("Regresando al Men Principal");
return;
}
default:
{
Console.Write("\n\n Error, Opcin incorrecta, Recuerda
que las opciones son del 1 al 3 \n\n");
break;
}
}
}
}
}

class Program
{
static public int opcion = 1;

static void Main(string[] args)


{

Gasolina Magna = new Gasolina();


Gasolina Premium = new Gasolina();
Diesel Convencional = new Diesel();
Diesel Agricola = new Diesel();

while (opcion != 3)
{
Console.WriteLine("\n\n==============================");
Console.WriteLine(" Men Principal ");
Console.WriteLine(" Gasolinera Tres Pinos ");
Console.WriteLine("==============================");
Console.WriteLine(" [1] Gasolina");
Console.WriteLine(" [2] Diesel");
Console.WriteLine(" [3] Salir");
Console.WriteLine("==============================");
Console.Write (" Seleccione una opcin ");
opcion = int.Parse(Console.ReadLine());
switch (opcion)
{
case 1:
{

Magna.MenuGasolina();
break;
}
case 2:
{
Convencional.MenuDiesel();
break;
}
case 3:
{
Console.WriteLine("\n\n Cerrando sesin, presione
cualquier tecla \n\n");
Console.ReadKey();
return;
}

default:
{
Console.WriteLine("\n\n\n Error, Opcin incorrecta,
Recuerda que las opciones son del 1 al 3 \n\n");
break;
}
}
}

}
}

También podría gustarte