git clone git@git.01.alem.school:skantay/atm-management-system.git
cd atm-management-system
make
./atm
The atm-management-system is a simulation of a real ATM machine, designed to manage user accounts and transactions. Here's an overview of its features:
-
User Authentication:
- Users can log in or register for a new account.
-
Account Management:
-
Create a New Account:
- Users can create a new bank account by providing details such as date, desired account ID, country, phone number, initial deposit amount, and account type.
- Account types include:
- current (no interest)
- saving (interest rate: 7%)
- fixed01 (1-year account, interest rate: 4%)
- fixed02 (2-year account, interest rate: 5%)
- fixed03 (3-year account, interest rate: 8%)
- Account types include:
- Users are notified if the entered account ID already exists.
- Users can create a new bank account by providing details such as date, desired account ID, country, phone number, initial deposit amount, and account type.
-
Update Account Information:
- Users can update account information by providing the account ID.
- Allowed changes include country and phone number.
-
Check Account Details:
- Users can view details of an existing account by entering the account ID.
- No information is displayed if the entered account ID does not exist.
-
List Owned Accounts:
- Users can view a list of all owned bank accounts.
-
Make Transactions:
- Users can perform transactions such as deposit or withdrawal.
- Users are prompted to select the account for the transaction, and errors are displayed if the account does not exist or lacks sufficient funds.
-
Delete Account:
- Users can delete an existing account by providing the account ID.
- An error message is displayed if the entered account ID does not exist.
-
Transfer Ownership:
- Users can transfer ownership of their account to another user.
- Users are prompted for the account ID to transfer and the username of the recipient.
-
To audit
To run the system, use the provided commands: make
and ./atm
.