public static void Main()
Console.WriteLine("Bienvenido al Banco <Mi Prestamo>");
Console.WriteLine("Seleccione el tipo de préstamo que adquirió para conocer los intereses: Personal-1 Hipotecario-2 Auto-3");
int opcion1 = Convert.ToInt16(Console.ReadLine());
PrestamoPersonal personal1 = new PrestamoPersonal(0.15);
Console.WriteLine("Ingrese los siguientes datos para conocer los intereses a pagar");
Console.WriteLine("Escriba su nombre:");
personal1.NombreCliente = Console.ReadLine();
Console.WriteLine("Escriba su número de cliente:");
personal1.NumeroCliente = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Escriba el número de la cuenta");
personal1.NumeroCuenta = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Escriba el capital que ha adquirido");
personal1.CapitalAdquirido = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Ingrese los meses del interes");
personal1.PlazoInversion = Convert.ToInt16(Console.ReadLine());
personal1.CalcularInteres();
catch (OverflowException PlazoInversion)
Console.WriteLine("--> catch");
Console.WriteLine("Excepcion de desbordamiento");
Console.WriteLine("ArgumentException Handler: {0}", PlazoInversion.Message);
Console.WriteLine("Intentalo de nuevo");
catch (FormatException PlazoInversion)
Console.WriteLine("--> catch");
Console.WriteLine("Excepcion. de formato");
Console.WriteLine("generic Handler: {0}", PlazoInversion.Message);
Console.WriteLine("Intentalo de nuevo");
PrestamoHipotecario hipo1 = new PrestamoHipotecario(0.20);
Console.WriteLine("Ingrese los siguientes datos para conocer los intereses a pagar");
Console.WriteLine("Escriba su nombre");
hipo1.NombreCliente = Console.ReadLine();
Console.WriteLine("Escriba el número de cliente");
hipo1.NumeroCliente = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Escriba el número de la cuenta");
hipo1.NumeroCuenta = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Escriba el capital que ha adquirido");
hipo1.CapitalAdquirido = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Ingrese los meses del interes");
hipo1.PlazoInversion = Convert.ToInt32(Console.ReadLine());
catch (OverflowException PlazoInversion)
Console.WriteLine("--> catch");
Console.WriteLine("Excepcion de desbordamiento");
Console.WriteLine("ArgumentException Handler: {0}", PlazoInversion.Message);
Console.WriteLine("Intentalo de nuevo");
catch (FormatException PlazoInversion)
Console.WriteLine("--> catch");
Console.WriteLine("Excepcion de formato");
Console.WriteLine("generic Handler: {0}", PlazoInversion.Message);
Console.WriteLine("Intentalo de nuevo");
PrestamoAuto auto1 = new PrestamoAuto(0.25);
Console.WriteLine("Ingrese los siguientes datos para conocer los intereses a pagar");
Console.WriteLine("Escriba su nombre");
auto1.NombreCliente = Console.ReadLine();
Console.WriteLine("Escriba el número de cliente");
auto1.NumeroCliente = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Escriba el número de la cuenta");
auto1.NumeroCuenta = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Escriba el capital que ha adquirido");
auto1.CapitalAdquirido = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Ingrese los meses del interes");
auto1.PlazoInversion = Convert.ToInt32(Console.ReadLine());
catch (OverflowException PlazoInversion)
Console.WriteLine("--> catch");
Console.WriteLine("Excepcion de desbordamiento");
Console.WriteLine("ArgumentException Handler: {0}", PlazoInversion.Message);
Console.WriteLine("Intentalo de nuevo");
catch (FormatException PlazoInversion)
Console.WriteLine("--> catch");
Console.WriteLine("Excepcion de formato");
Console.WriteLine("generic Handler: {0}", PlazoInversion.Message);
Console.WriteLine("Intentalo de nuevo");
Console.WriteLine("¿Desea continuar en el sistema? Escriba SI:1 NO:2");
respuesta = int.Parse(Console.ReadLine());
Console.WriteLine("Ya está todo listo. Gracias por su preferencia");
abstract public class ClienteDeudor
public abstract string NombreCliente {get; set;}
public abstract int NumeroCliente {get; set;}
public abstract int NumeroCuenta {get; set;}
public abstract double CapitalAdquirido {get; set;}
public abstract double TasaInteres {get; set;}
public abstract int PlazoInversion {get; set;}
public abstract double InteresAPagar {get; set;}
public abstract double CalcularInteres();
public abstract void MostrarInfo();
public class PrestamoPersonal : ClienteDeudor
public PrestamoPersonal(double TasaInteres)
tasaInteres = TasaInteres;
public string nombreCliente;
public override string NombreCliente
get {return nombreCliente;}
set {nombreCliente = value;}
public int numeroCliente;
public override int NumeroCliente
get {return numeroCliente;}
set {numeroCliente = value;}
public override int NumeroCuenta
get {return numeroCuenta;}
set {numeroCuenta = value;}
public double capitalAdquirido;
public override double CapitalAdquirido
get {return capitalAdquirido;}
set {capitalAdquirido = value;}
public double tasaInteres;
public override double TasaInteres
get {return tasaInteres;}
set {tasaInteres = value;}
public int plazoInversion;
public override int PlazoInversion
get {return plazoInversion;}
set {plazoInversion = value;}
public double interesApagar;
public override double InteresAPagar
get {return interesApagar;}
set {interesApagar = value;}
public override double CalcularInteres()
InteresAPagar = CapitalAdquirido * TasaInteres * PlazoInversion;
public override void MostrarInfo()
Console.WriteLine("----------Información del cliente deudor e intereses----------");
Console.WriteLine("Numero de cliente: {0} \nNombre del cliente: {1} \nNumero de cuenta: {2} \nInteres a pagar: {3}", NumeroCliente, NombreCliente, NumeroCuenta, InteresAPagar);
public class PrestamoHipotecario : ClienteDeudor
public PrestamoHipotecario(double TasaInteres)
tasaInteres = TasaInteres;
public string nombreCliente;
public override string NombreCliente
get {return nombreCliente;}
set {nombreCliente = value;}
public int numeroCliente;
public override int NumeroCliente
get {return numeroCliente;}
set {numeroCliente = value;}
public override int NumeroCuenta
get {return numeroCuenta;}
set {numeroCuenta = value;}
public double capitalAdquirido;
public override double CapitalAdquirido
get {return capitalAdquirido;}
set {capitalAdquirido = value;}
public double tasaInteres;
public override double TasaInteres
get {return tasaInteres;}
set {tasaInteres = value;}
public int plazoInversion;
public override int PlazoInversion
get {return plazoInversion;}
set {plazoInversion = value;}
public double interesApagar;
public override double InteresAPagar
get {return interesApagar;}
set {interesApagar = value;}
public override double CalcularInteres()
InteresAPagar = (CapitalAdquirido * TasaInteres * PlazoInversion) - (CapitalAdquirido / 10);
public override void MostrarInfo()
Console.WriteLine("----------Información del cliente deudor e intereses----------");
Console.WriteLine("Numero de cliente: {0} \nNombre del cliente: {1} \nNumero de cuenta: {2} \nInteres a pagar: {3}", NumeroCliente, NombreCliente, NumeroCuenta, InteresAPagar);
public class PrestamoAuto : ClienteDeudor
public PrestamoAuto(double TasaInteres)
tasaInteres = TasaInteres;
public string nombreCliente;
public override string NombreCliente
get {return nombreCliente;}
set {nombreCliente = value;}
public int numeroCliente;
public override int NumeroCliente
get {return numeroCliente;}
set {numeroCliente = value;}
public override int NumeroCuenta
get {return numeroCuenta;}
set {numeroCuenta = value;}
public double capitalAdquirido;
public override double CapitalAdquirido
get {return capitalAdquirido;}
set {capitalAdquirido = value;}
public double tasaInteres;
public override double TasaInteres
get {return tasaInteres;}
set {tasaInteres = value;}
public int plazoInversion;
public override int PlazoInversion
get {return plazoInversion;}
set {plazoInversion = value;}
public double interesApagar;
public override double InteresAPagar
get {return interesApagar;}
set {interesApagar = value;}
public override double CalcularInteres()
InteresAPagar = (CapitalAdquirido * TasaInteres * PlazoInversion) + (CapitalAdquirido / 5);
public override void MostrarInfo()
Console.WriteLine("----------Información del cliente deudor e intereses----------");
Console.WriteLine("Numero de cliente: {0} \nNombre del cliente: {1} \nNumero de cuenta: {2} \nInteres a pagar: {3}", NumeroCliente, NombreCliente, NumeroCuenta, InteresAPagar);