Ejemplo n.º 1
0
void Banco::imprimir_cuentas() {
  list<Cuenta>::iterator it = cuentas.begin();
  while(it != cuentas.end()) {
    Cuenta c = (*it);
    cout << c.get_identificador() << " " << c.get_dinero() << endl;
    ++it;
  }
}
Ejemplo n.º 2
0
void Banco::transferencia_bancaria(){
  int id_origen, id_destino, dinero;
  cin >> id_origen >> id_destino >> dinero;
  Cuenta* origen = buscar_cuenta(id_origen);
  Cuenta* destino = buscar_cuenta(id_destino);
  if(origen->get_dinero() >= dinero) {
    origen->sacar_dinero(dinero);
    destino->meter_dinero(dinero);
  }
}
Ejemplo n.º 3
0
//Inserta una cuenta en el arbol
void ArbinDolares::insertarCuenta(int pnumCuenta, string pcliente, double psaldo){
		
	Cuenta * cuentaPadre = NULL;
	cuentaActual = cuentaRaiz;

	// Buscar la cuenta en el árbol de cuentas manteniendo el puntero en la raíz padre
	while(!Vacio(cuentaActual) && pnumCuenta != cuentaActual->getNumCuenta()) 
	{
		cuentaPadre = cuentaActual;
		if(pnumCuenta > cuentaActual->getNumCuenta()) cuentaActual = cuentaActual->getCuentaDerecha();
		else if(pnumCuenta < cuentaActual->getNumCuenta()) cuentaActual = cuentaActual->getCuentaIzquierda();
	}

	// Si se ha encontrado el elemento, regresar sin insertar
	if(!Vacio(cuentaActual))
	{
		return;
	}
	// Si padre es NULL, entonces el árbol estaba vacío, el nuevo nodo será
	// el nodo raiz

	if(Vacio(cuentaPadre))
	{
		cuentaRaiz = new Cuenta(pnumCuenta, pcliente, psaldo);
	}

	//// Si el numero de cuenta es menor que el que contiene el nodo padre, lo insertamos
	//// en la rama izquierda
	else if(pnumCuenta < cuentaPadre->getNumCuenta())
	{
		Cuenta * objCuenta = new Cuenta(pnumCuenta, pcliente, psaldo);
		cuentaPadre->setCuentaIzquierda(objCuenta);
	}

	// Si el número de cuenta es mayor que el que contiene el nodo padre, lo insertamos
	// en la rama derecha
	else if(pnumCuenta > cuentaPadre->getNumCuenta())
	{
		Cuenta * objCuenta = new Cuenta(pnumCuenta, pcliente, psaldo);
		cuentaPadre->setCuentaDerecha(objCuenta);
	}

}
Ejemplo n.º 4
0
    void Catalogo::crearRubro(string nombreRubro, string descripcion, bool cnueva, int id, string codigoRubro, string tipoDest)
    {
        Cuenta  *nueva;

        contabilidad::tipoDestino destino;

        if(tipoDest=="ingreso")
            destino=contabilidad::ingreso;
        if(tipoDest=="gasto")
            destino=contabilidad::gasto;


        nueva=new Cuenta(nombreRubro, codigoRubro, contabilidad::agrupacionecomica, descripcion, this, cnueva, id, destino  );
        nueva->cuentaMadre=NULL;        
        nueva->setID(id);
        nueva->myCatalogo=this;
        nueva->cargarHijos(this->id);
        myCuenta[nombreRubro]=nueva;        
    }
Ejemplo n.º 5
0
int main() {
    srand(time(NULL));
    int montoInicial = 7000;
    Cuenta *cuenta = new Cuenta(montoInicial);
    Mama *mama = new Mama(cuenta);
    Hijo *hijos[HIJOS];
    for (int i=0;i<HIJOS;i++) {
        hijos[i] = new Hijo(cuenta, i);
    }

    mama->start();
    for (int i=0;i<HIJOS;i++) {
        hijos[i]->start();
    }


    sleep(10);

    mama->detenerse();
    for (int i=0;i<HIJOS;i++) {
        hijos[i]->detenerse();
    }

    mama->wait();
    int suma = 0;
    for (int i=0;i<HIJOS;i++) {
        hijos[i]->wait();
        suma+= hijos[i]->getRetiros();
    }

    cout << "Saldo Inicial:" << montoInicial << endl;
    cout << "Depositado:" << mama->getDepositado() << endl;
    cout << "Retirado:" << suma << endl;
    cout << "Saldo Final:" << cuenta->getSaldo() << endl;
    cout << "Balance:" << montoInicial + mama->getDepositado() - suma << endl;

    delete mama;
    for (int i=0;i<HIJOS;i++) {
        delete hijos[i];
    }

    return 0;
}
Ejemplo n.º 6
0
    Subcuenta * Catalogo::crearCategoria(string codigoMadre, string nombreCategoria, string codigo, string descripcion, int id, bool _nueva, string tipoCue, string tipoDest)
    {
        Cuenta *madre;
        Subcuenta *subMadre;
        madre=this->getCuenta(codigoMadre);

        contabilidad::tipoCuenta tipo;
        contabilidad::tipoDestino destino;

        if(tipoCue=="agrupacionecomica")
            tipo=contabilidad::agrupacionecomica;
        if(tipoCue=="rubro")
            tipo=contabilidad::rubro;
        if(tipoCue=="cuenta")
            tipo=contabilidad::cuenta;
        if(tipoCue=="especificos")
            tipo=contabilidad::especificos;
        if(tipoCue=="inventario")
            tipo=contabilidad::inventario;


        if(tipoDest=="ingreso")
            destino=contabilidad::ingreso;
        if(tipoDest=="gasto")
            destino=contabilidad::gasto;

        if (madre==NULL)
        {
            subMadre=this->getSubCuentaCod(codigoMadre);
            if (subMadre!=NULL)
                return subMadre->crearSubCuenta(nombreCategoria, tipo, codigo, descripcion, id, _nueva, destino);
        }
        else
            return  madre->crearSubCuenta(nombreCategoria,tipo, codigo, descripcion, id, _nueva, destino);

        return NULL;
    }
void MostrarCuenta(Cuenta T) {
	cout<<"Numero......: "<< T.getNumero()<<endl;
	cout<<"Saldo.......: "<< T.getSaldo()<<endl;
}
Ejemplo n.º 8
0
void Banco::crear_cuenta() {
  Cuenta c;
  c.leer_cuenta();
  list<Cuenta>::iterator it = cuentas.begin();
  cuentas.insert(it, c);
}
Ejemplo n.º 9
0
void Banco::sacar_dinero() {
  int id, dinero;
  cin >> id >> dinero;
  Cuenta* c = buscar_cuenta(id);
  c->sacar_dinero(dinero);
}