public static void Main()
if (int.TryParse(Console.ReadLine(), out int opcion))
RealizarDeposito(ref saldo);
RealizarRetiro(ref saldo);
Console.WriteLine("Saliendo del programa. ¡Hasta luego!");
MostrarMensaje("Opción no válida. Por favor, seleccione una opción válida.");
MostrarMensaje("Por favor, ingrese un número válido.");
static void MostrarMenu()
MostrarMensaje("1. Depositar");
MostrarMensaje("2. Consultar Saldo");
MostrarMensaje("3. Retirar");
MostrarMensaje("4. Salir");
Console.Write("Seleccione una opción: ");
static void MostrarMensaje(string mensaje)
Console.WriteLine(mensaje);
static void MostrarSeparador()
Console.WriteLine("----------------------------------------");
static void RealizarDeposito(ref double saldo)
if (TryObtenerCantidad("Ingrese la cantidad a depositar (50, 100, 200, 500, 1000):", out double cantidadDeposito))
DepositarCantidad(cantidadDeposito, ref saldo);
MostrarMensaje("Por favor, ingrese un número válido.");
static bool TryObtenerCantidad(string mensaje, out double cantidad)
return double.TryParse(Console.ReadLine(), out cantidad);
static void DepositarCantidad(double cantidad, ref double saldo)
double[] cantidadesPermitidas = { 50, 100, 200, 500, 1000 };
if (Array.Exists(cantidadesPermitidas, c => c == cantidad) && cantidad > 0)
MostrarMensaje($"Depósito exitoso. Nuevo saldo: {saldo}");
MostrarMensaje("Cantidad no válida. Por favor, ingrese una cantidad permitida y positiva.");
static void ConsultarSaldo(double saldo)
MostrarMensaje($"Saldo actual: {saldo}");
static void RealizarRetiro(ref double saldo)
if (TryObtenerCantidad("Ingrese la cantidad a retirar (50, 100, 200, 500, 1000):", out double cantidadRetiro))
RetirarCantidad(cantidadRetiro, ref saldo);
MostrarMensaje("Por favor, ingrese un número válido.");
static void RetirarCantidad(double cantidad, ref double saldo)
double[] cantidadesPermitidas = { 50, 100, 200, 500, 1000 };
if (Array.Exists(cantidadesPermitidas, c => c == cantidad))
MostrarMensaje($"Retiro exitoso. Nuevo saldo: {saldo}");
MostrarMensaje("Fondos insuficientes.");
MostrarMensaje("Cantidad no válida. Por favor, ingrese una cantidad permitida.");