Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (define-struct producto (codigo nombre disponibilidad))
- (define-struct disponibilidad (precio unidades-disponibles))
- (define (vender-producto lista-productos producto)
- (cond
- [ (empty? lista-productos) (list empty) ]
- [ (symbol=? (producto-codigo (first lista-productos)) (producto-codigo producto) )
- (cond
- [ (<= (- (disponibilidad-unidades-disponibles (producto-disponibilidad (first lista-productos) ) ) (disponibilidad-unidades-disponibles (producto-disponibilidad producto) ) ) 0 ) (vender-producto (rest lista-productos) producto) ]
- [ else (list (make-producto
- (producto-codigo (first lista-productos))
- (producto-nombre (first lista-productos))
- (make-disponibilidad (disponibilidad-precio (producto-disponibilidad (first lista-productos)) ) (- (disponibilidad-unidades-disponibles (producto-disponibilidad (first lista-productos)) ) (disponibilidad-unidades-disponibles (producto-disponibilidad producto) ) ) )
- ) (vender-producto (rest lista-productos) producto ) ) ]
- ) ]
- [else (list (first lista-productos) (vender-producto (rest lista-productos) producto)) ]
- )
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement