simple automated bank registry system. The implementation will include several
attributes related to a transaction, and the data will be managed in a global linked list within memory. The program must use the “list” API in the C++ standard template library. All of the attributes associated with each transaction will be stored as a single object within a global linked list data structure. The program must implement at least one class that will hold the following variables:
transId —An integer for the transaction ID that consists of a number starting at 1000 for the first transaction in the linked list and automatically incremented by 1 for each subsequent transaction entered into the linked list. The user will not enter this number.
date —A string for the date of the transaction. The date must be in the form mm/dd/yyyy. The program must re-prompt the user to re-enter the date if it is not a valid form.
description —A string variable to indicate the description of the transaction (spaces between words must be allowed).
payment —A double variable to indicate a transaction payment or deduction from the account. A value of 0 if the transaction is not a payment.
deposit —A double variable to indicate a transaction deposit or addition to the account. A value of 0 if the transaction is not a deposit.
Provide the appropriate accessor methods to set and get the data for each of these class variables. For example setDate(string date) and getDate(). In addition, the main program must provide the following functionality:
1. When the program is first started, it must read a data file called registry.dat. The program should not prompt the user for the name of the data file. If the file exists, the program will load the data for each transaction into the global linked list data structure. If the file does not exist, the program will start with an empty linked list.
2. The program should provide a simple text-based user interface