Esempio n. 1
0
void main()
{
	BankAccount b;
	b.setName("Rana");
	b.setAccount("234");
	b.setBalance(20);
	b.deposite(1024);
	b.deposite(1024);
	cout<<b.getBalance();
	system("pause");


}
int main()
{
	string symbol;			// company stock symbol
	double val;				
	double cashBal;			// variable for cashBalance
	int choice;				// user choice	
	const int def = 10000;	// default cashBalance value
	int numOfShares;		// stock number of shares
	double maxPrice;		// max price user is willing to pay to buy stock
	double minPrice;			// min price user is willing to pay to sell stock
	double totalBal;

	BankAccount ba;		// create object of class BankAccount
	double am;			// declare amount variable which will be used by class BankAccount

	StockPortfolioAccount spa;		// create object of class Stock Portfolio Account

	DoublyLinkedList dll;			// create  dll

	time_t t;			// create a time_t object
	struct tm  buf;		// create a tm object which stores all the calendar information


	//------------------------ Step 1 - load the stock text file data into hash table-----------------------------


	loadFile();


	// -----------------------Step 2 - Load the cashBalance value from .txt file-----------------------------------
	{	// start of block statement

		ifstream inCash("cash_balance.txt");						// create ifstream object
		ofstream cas;

		if (inCash.good())	// if file exists
		{
			//inCash.open("cash_balance.txt", ios::in);		// open the file
			getline(inCash, line);					// get the line
			stringstream ss(line);					// store it in stringstream
			ss >> cashBal;							// retireve the cashBalance
			ba.setBalance(cashBal);					// set the cashBalance
			inCash.close();
		}
		// if file is not created then create a new cash_balance.txt file and store 10000
		else
		{
void mainMenu()
{
    int mainChoice; // choice for top menu
    
	// stockaccount object
	StockAccount stockObj;
	// bankaccount object
	BankAccount bankObj;

	// link two balance
	bankObj.setBalance(stockObj.getBalance());

    do {
        instructionTop();
        cin >> mainChoice;
		while (cin.fail()){
			cout << "\nPlease enter an integer value: ";
			cin.clear();
			cin.ignore();
			cin >> mainChoice;
		}

        switch ( mainChoice ) {
            case 1:
            {
                // stock menu
                cout << "\nStock Portfolio Account" << endl;

				// update balance
				stockObj.setBalance(bankObj.getBalance());

                int stockChoice; // choice for stock menu
                
                string stockSymbol; // stock symbol
                int numberShare; // number of shares
                double maxPrice; // max price to buy shares
                double minPrice; // min Price to sell shares
				string time_start, time_end; // time period to view graph
                
                do {
                    stockInstruction();
                    cin >> stockChoice;

					while (cin.fail()){
						cout << "\nPlease enter an integer value: ";
						cin.clear();
						cin.ignore();
						cin >> stockChoice;
					}

                    //StockAccount *stockPtr = &account;
                    
                    switch ( stockChoice ) {
                        case 1:
                            // display price for stock
                            cout << "\nPlease enter the stock symbol: ";
                            cin >> stockSymbol;
                            stockObj.displayPrice( stockSymbol ); // WORKING ON IT
                            break;
                        case 2:
                            // display current portfolio
                            //cout << "display current portfolio" << endl;
							stockObj.displayPortfolio();
                            break;
                        case 3:
                            // buy shares
                            cout << "Please enter the stock symbol you wish to purchase: ";
                            cin >> stockSymbol;
							
                            cout << "Please enter the number of shares: ";
                            cin >> numberShare;
							while (cin.fail()){
								cout << "\nPlease enter an integer value: ";
								cin.clear();
								cin.ignore();
								cin >> numberShare;
							}

                            cout << "Please enter the maximum amount you are willing to pay per share: $";
                            cin >> maxPrice;
							while (cin.fail()){
								cout << "\nPlease enter a double value: $";
								cin.clear();
								cin.ignore();
								cin >> maxPrice;
							}

							stockObj.buyStock(&Node(stockSymbol, numberShare), maxPrice);
                            
                            break;
                        case 4:
                            // sell shares
                            cout << "Please enter the stock symbol you wish to sell: ";
                            cin >> stockSymbol;
                            cout << "Please enter the number of shares: ";
                            cin >> numberShare;

							while (cin.fail()){
								cout << "\nPlease enter an integer value: ";
								cin.clear();
								cin.ignore();
								cin >> numberShare;
							}

                            cout << "Please enter the minimum amount you are willing to sell per share: $";
                            cin >> minPrice;
							while (cin.fail()){
								cout << "\nPlease enter a double value: $";
								cin.clear();
								cin.ignore();
								cin >> minPrice;
							}

							stockObj.sellStock(&Node(stockSymbol, numberShare), minPrice);
                            
                            break;
                        case 5:
                            // view matlab graph
							cout << "\nPlease select the time period in the graph: " << endl;
							cout << "Start Date (mm/dd/yyyy): ";
							cin >> time_start;
							cout << "\nEnd Date (mm/dd/yyyy): ";
							cin >> time_end;
							stockObj.viewGraph(time_start, time_end);
                            
                            break;
                        case 6:
                            // view transaction history
							stockObj.viewHistory();
                            
                            break;
                        
                    } // end stock switch
                } while ( stockChoice != 7 );
                
                break;
            } // end case 1
            case 2:
            {
                // bank menu
                cout << "\nBank Account" << endl;

				// update balance
				bankObj.setBalance(stockObj.getBalance());

                int bankChoice; // choice for bank menu
                
                double amount; // amount of money to deposit or withdraw
                
                do {
                    bankInstruction();
                    cin >> bankChoice;
                    
					while (cin.fail()){
						cout << "\nPlease enter an integer value: ";
						cin.clear();
						cin.ignore();
						cin >> bankChoice;
					}

                    switch ( bankChoice ) {
                        case 1:
                            // view account balance
                            
							bankObj.viewBalance();
                            break;
                        case 2:
                            // deposit
							
                            cout << "Please select the amount you wish to deposit: $";
                            cin >> amount;
							
							while (cin.fail()){
								cout << "\nPlease enter a double value: $";
								cin.clear();
								cin.ignore();
								cin >> amount;
							}
							
							bankObj.deposit(amount);
                            break;
                        case 3:
                            // withdraw
                            cout << "Please select the amount you wish to withdraw: $";
                            cin >> amount;
                            
							while (cin.fail()){
								cout << "\nPlease enter a double value: $";
								cin.clear();
								cin.ignore();
								cin >> amount;
							}
							bankObj.withdraw(amount);

                            break;
                        case 4:
                            // print history
							bankObj.printHistory();
                            
                            break;
                    } // end bank switch
                } while ( bankChoice != 5 );
                
                break;
            } // end case 2
        } // end main switch
    } while ( mainChoice != 3 );

}