Advertisement
JF_Jaramillo

3

Sep 13th, 2020
7,650
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scheme 1.20 KB | None | 0 0
  1. (define-struct producto (codigo nombre disponibilidad))
  2. (define-struct disponibilidad (precio unidades-disponibles))
  3.  
  4.  
  5. (define (vender-producto lista-productos producto)
  6.   (cond
  7.     [ (empty? lista-productos) (list empty) ]
  8.     [ (symbol=? (producto-codigo (first lista-productos)) (producto-codigo producto) )
  9.       (cond
  10.         [ (<= (- (disponibilidad-unidades-disponibles (producto-disponibilidad (first lista-productos) ) ) (disponibilidad-unidades-disponibles (producto-disponibilidad producto) ) ) 0 ) (vender-producto (rest lista-productos) producto) ]
  11.         [ else (list (make-producto
  12.                       (producto-codigo (first lista-productos))
  13.                       (producto-nombre (first lista-productos))
  14.                       (make-disponibilidad (disponibilidad-precio (producto-disponibilidad (first lista-productos)) ) (- (disponibilidad-unidades-disponibles (producto-disponibilidad (first lista-productos)) ) (disponibilidad-unidades-disponibles (producto-disponibilidad producto) ) ) )
  15.                       ) (vender-producto (rest lista-productos) producto ) ) ]
  16.         ) ]
  17.     [else (list (first lista-productos) (vender-producto (rest lista-productos) producto)) ]
  18.     )
  19.   )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement