This program is to manage a bank account and a stock portfolio. The program is written using inheritance structure for the classes. Starting with the abstract base class Account. All of the accounts are linked together through the common cashBalance variable. The starting balance for the account will be $10000. The balance will change as you perform the transactions. In the main menu, you can select to work with either stock account, bank account, or exit the program. The sub menu for each will be as following:
Stock account:
-
Display current price for a stock symbol
-
Buy stock
-
Sell stock
-
Display current portfolio
-
Display transactions history
-
Return to main men
Bank account:
-
Display current cash balance
-
Deposit to account
-
Withdraw from account
-
Display transactions history
-
Return to main menu
-
Account (Parent Class)
-
Bank Account (Child Class)
-
Stock Account (Child Class)
-
Linked List (Doubly Linked List) (Utility Class)
-
Node (Utility Class)
-
BankHist.txt (store all the buy and sell operations)
-
TranHist.txt (store all the deposit or withdrawal operations)
-
Portfolio.txt (store all the stocks the user that the user bought)
-
Results.txt (store the different kinds of stocks and its prices)
-
Results2.txt (store the different kinds of stocks and its prices)
-
Matlab.txt (store the x points and the y points for matlab graph)
-
INTERFACE!.rc (this is a resource file contain the dialog file for the MFC GUI)
- Account.h
- Bank Account.h
- Stock Account.h
- Linked List.h
- Node.h
- Globales.h
- Functions.h
- Resource.h
- Account.cpp
- Bank Account.cpp
- Stock Account.cpp
- Linked List.cpp
- Node.cpp
- Globales.cpp
- MAIN.cpp
PriceUpdate This function will update and read the price of stocks from 2 text files the Results.txt and the Results2.txt(Randomly).
Findprice This function will find the price of the stock files that the user will search for it by searching the Results.
BankUpdate This function will update ( read and write from the file BankHist.txt) the Bankaccount History and write withdrawal or deposit.
BankOutput This function will write any transactions that the user will do on the file BankHist.txt .
Buyshare This function will buy a share or number of shares .
Sellshare This function will sell a share or number of shares.
Depo_With This function will make and deposit or withdrawal from or to the Bankaccount.
Getbalance This function will initiate the first default amount of Money for BankAccount which is 10000$ or it will update it self every transaction that the user will do.
- “Eleven Button” and Each button complete specific operation.
- “Four Textboxes” which allow the user to enter the Symbol and price per share and number of share and the amount of withdraw or deposit.
- “Three Radio Buttons” for the Strategy Design Pattern (Three Sorting Methods to keep the List in order and also let the user to choose or change the method of sort)
- “List box” will show all the results that the user will make.
- “Message Box” will show if the user make mistake or complete the operation.
Copyright 2016 Aymen Alsaadi
The MIT License
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.