diff --git a/src/bank-account.scm b/src/bank-account.scm index c5e8b39..7c2be1f 100644 --- a/src/bank-account.scm +++ b/src/bank-account.scm @@ -44,6 +44,8 @@ bank-transaction-type bank-transaction-account bank-transaction-bank + + bank-accounts-member? ) (import scheme @@ -85,4 +87,15 @@ (bank-transaction-message tr) (bank-transaction-type tr)))) + ;; Returns true if given acc/bc is in the list of accounts + (define (bank-accounts-member? bas acc bc) + (let loop ((bas bas)) + (if (null? bas) + #f + (let ((ba (car bas))) + (if (and (equal? acc (bank-account-number ba)) + (equal? bc (bank-account-bank ba))) + #t + (loop (cdr bas))))))) + )