Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (define-struct cbank (id Ncuenta Tcuenta nTrans limit credito dinerototal))
- (define uno (make-cbank 'julio 1999 'nomina 0 0 0 100000))
- (define dos (make-cbank 'juan 2564 'ahorros 0 0 0 100000))
- (define tres (make-cbank 'jerardo 9501 'credito 0 100000 500000 100000))
- (define cuatro (make-cbank 'jenry 1001 'credito 0 25000 0 100000))
- (define cinco (make-cbank 'jilipollas 1751 'credito 0 25 0 100000))
- (define seis (make-cbank 'jorge 1001 'credito 0 25000 0 0))
- (define siete (make-cbank 'jaimico 1001 'credito 0 25000 48000 0))
- (define (retiro persona montor)
- (if (and (cbank? persona) (number? montor))
- (cond
- [(symbol=? 'nomina (cbank-Tcuenta persona))
- (if (and (>= montor 0)(> (cbank-dinerototal persona) montor))
- (make-cbank (cbank-id persona)
- (cbank-Ncuenta persona)
- (cbank-Tcuenta persona)
- (+ (cbank-nTrans persona) 1)
- (cbank-limit persona)
- (cbank-credito persona)
- (- (cbank-dinerototal persona) montor))
- "no transaccion")]
- [(symbol=? 'ahorros (cbank-Tcuenta persona))
- (if (>= (- (cbank-dinerototal persona) montor) 20000)
- (make-cbank (cbank-id persona)
- (cbank-Ncuenta persona)
- (cbank-Tcuenta persona)
- (cbank-nTrans persona)
- (cbank-limit persona)
- (cbank-credito persona)
- (- (cbank-dinerototal persona) montor))
- "supera limite de retiro")]
- [(and (< montor (cbank-limit persona)) (symbol=? 'credito (cbank-Tcuenta persona)))
- (make-cbank (cbank-id persona)
- (cbank-Ncuenta persona)
- (cbank-Tcuenta persona)
- (cbank-nTrans persona)
- (cbank-limit persona)
- (+ montor (cbank-credito persona))
- (cbank-dinerototal persona))]
- [else "limite de cuenta crediticia"])
- "datos incorrectos"))
- (retiro uno 232)
- (retiro uno -5215)
- (retiro dos 80000)
- (retiro dos 100000)
- (retiro tres 232)
- (retiro cuatro 232)
- (retiro cinco 232)
- (retiro seis 18000)
- (retiro siete 18000)
- (retiro ocho 18000)
Advertisement
Add Comment
Please, Sign In to add comment