/*Desarrolle una aplicación en C#, para un cajero automático:
*
* La aplicación permitirá crear cuentas para jubilados y personas en actividad.
* Los usuarios del cajero podrán depositar en su cuenta y realizar extracciones de la misma.
* Si el usuario es una persona en actividad laboral podrá retirar hasta, 20000 pesos en concepto de adelanto de sueldo.
* Si el usuario es una persona jubilada podrá retirar en concepto de adelanto solo 10000.
* Cada operación de ingreso o extracción deberá registrar la fecha, el cajero y el monto de la operación.
* Los cajeros se identifican por su dirección y número de cajeros.
* Si durante dos meses de operación un usuario tubo un saldo positivo superior a 20000 pesos, se le ofrecerá un crédito pre acordado de, 80000 pesos.
* Con lo cual, su nuevo límite de extracción en negativo será de, 80000 pesos.*/
using System.Collections;
using static System.Runtime.InteropServices.JavaScript.JSType;
namespace CajeroAutomatico
{
internal class Program
{
//metodo principal
static void Main(string[] args)
{
Cajero nuevoCajero
= new Cajero
("sarmiento 110",
1);
Console.WriteLine("Bienvenido al cajero automatico!");
Console.WriteLine("1. Crear cuenta");
nuevoCajero.crearCuenta();
Console.WriteLine("2. Depositar dinero");
Console.WriteLine("3. Extraer dinero");
}
}
//Clase cajero
class Cajero
{
//atributos
public string Direccion { get; set; }
public int NroCajero { get; set; }
// Constructor con parámetros
public Cajero(string Direccion, int NroCajero)
{
Direccion = Direccion;
NroCajero = NroCajero;
}
//metodos
public void crearCuenta()
{
CuentaBancaria nuevaCuenta
= new CuentaBancaria
();
}
//public void deposito()
//{
//}
//public void extraccion()
//{
//}
//public void preAcordado()
//{
//}
}
//clase cuenta bancaria
class CuentaBancaria
{
//atributos
public int NroCuenta { get; set; }
public int SaldoActual { get; set; }
public DateTime FechaApertura { get; set; }
public Usuario Usuario { get; set; }
public ArrayList LOperaciones { get; set; }
/// Constructor con parámetros
public CuentaBancaria()
{
NroCuenta = NroCuenta;
SaldoActual = SaldoActual;
FechaApertura = FechaApertura;
Usuario = Usuario;
LOperaciones
= new ArrayList
();
}
// Constructor con parámetros
public CuentaBancaria(int NroCuenta, int SaldoActual, DateTime FechaApertura, Usuario usuario, Operacion[] LOperaciones)
{
NroCuenta = NroCuenta;
SaldoActual = SaldoActual;
FechaApertura = FechaApertura;
usuario = usuario;
LOperaciones = LOperaciones;
}
//metodos
public void deposito()
{
}
public void extraccion()
{
}
public void preAcordado()
{
}
}
class Usuario
{
// Atributos
public int Id { get; set; }
public string Nombre { get; set; }
public string Direccion { get; set; }
public string TipoUs { get; set; } // jubilado o en actividad
// Constructor sin parámetros
public Usuario()
{
Id = 0;
Nombre = "";
Direccion = "";
TipoUs = "";
}
// Constructor con parámetros
public Usuario(int id, string nombre, string direccion, string tipoUs)
{
Id = id;
Nombre = nombre;
Direccion = direccion;
TipoUs = tipoUs;
}
}
class Operacion
{
// Atributos
public DateTime Fecha { get; set; }
public Cajero Cajero { get; set; }
public string TipoOperacion { get; set; } // deposito, extraccion, extraccionPreAcor, Dado
public int Monto { get; set; }
// Constructor sin parámetros
public Operacion()
{
Fecha = DateTime.Now;
TipoOperacion = "";
Monto = 0;
}
// Constructor con parámetros
public Operacion(DateTime fecha, Cajero cajero, string tipoOperacion, int monto)
{
Fecha = fecha;
Cajero = cajero;
TipoOperacion = tipoOperacion;
Monto = monto;
}
}
}