You are correct. The program should not allow the user to debit and credit the same account in one transaction, since the effect would be canceled out and not make sense from an accounting standpoint. The program has been fixed and now checks whether the debited account and credited account are the same, in which case it will mark it as an invalid transaction record and not proceed with the recording process.