Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //more with classes YEAHAHAHYYA
- #include <iostream>
- #include <string>
- #include <vector>
- #include <fstream>
- #include <xpolymorphic_allocator.h>
- using namespace std;
- struct bankAccount //structure
- {
- string Address;
- string NewAddress;
- string City;
- string State;
- string Zip;
- string AccNum;
- string Fname;
- string Lname;
- string Street;
- string NewStreet;
- char AccType;
- double Balance;
- double AddBalance;
- double IntRate;
- double AddIntRate;
- int AccountNumber;
- int EnterAccNum;
- };
- vector <bankAccount> EpicBank;
- bankAccount newAcc;
- class Bank2
- {
- public:
- int NextAccNum = 1;
- int counter = 0, counterValue;
- int info[4];
- string AddName;
- string ChangeName;
- string line;
- vector<string> NewName;
- vector<string> InfoList;
- vector<string> ::iterator it;
- void OpenFile() //file, not needed yet
- {
- ifstream infoFile;
- infoFile.open("info.txt");
- if (infoFile.is_open())
- {
- cout << "Info File Opened\n";
- }
- else cout << "Unable to open info file. The location may have changed or the file may be damaged.";
- }
- void menu() //main menu
- {
- string useChoice;
- char choice;
- bool flag = true;
- do
- {
- cout << "Choose an option: \n";
- cout << "1. Change Account Name\n";
- cout << "2. Make Deposit\n";
- cout << "3. Add Interest\n";
- cout << "4. Change Address\n";
- cout << "5. Search Name\n";
- cout << "6. Search City\n";
- cout << "7. Add An Account\n";
- cout << "8. Display account information\n";
- cout << "9. Quit\n";
- cin >> useChoice; //users choice
- int usingAccount;
- choice = useChoice[0];
- switch (choice)
- {
- case '1': // change name
- {
- changeName();
- break;
- }
- case '2': //make deposit
- {
- MakeDeposit();
- break;
- }
- case '3': //add interest
- {
- AddInterest();
- break;
- }
- case '4': //change address
- {
- ChangeStreet();
- break;
- }
- case '5': //search by name
- {
- SearchName();
- system("PAUSE");
- system("CLS");
- break;
- }
- case '6': //search by city, not working
- {
- SearchCity();
- system("CLS");
- break;
- }
- case '7': //adds new account
- {
- AddAccount();
- break;
- }
- case '8': //display account into
- {
- DisplayInfo();
- break;
- }
- case '9': //quits
- {
- flag = false;
- break;
- }
- default: //if user presses wrong key
- {
- cout << "You have pressed an incorrect key. Please try again.\n";
- system("CLS");
- }
- }
- } while (flag == true); //sets bool false, quitting program
- }
- int accGet()
- {
- int accNum;
- bool foundAcc = false;
- int useAcc;
- system("CLS");
- cout << "\nEnter Account Number ";
- cin >> accNum;
- // Checks if it is a valid input
- while (!cin)
- {
- cout << "Invalid selection. Please enter account number only\n\n"; //invalid selection change
- cin.clear();
- cin.ignore(numeric_limits<streamsize>::max(), '\n');
- cin >> accNum;
- }
- // Finds the account with the matching number
- for (int i = 0; i < EpicBank.size(); i++)
- {
- if (accNum == EpicBank[i].AccountNumber)
- {
- useAcc = i;
- foundAcc = true;
- }
- }
- // Lets the user know whether their account was found
- if (foundAcc == false)
- {
- cout << "\nNo account found\n";
- system("PAUSE");
- }
- else
- {
- cout << "\nAccount " << EpicBank[useAcc].AccountNumber << " has been found" << endl;
- system("PAUSE");
- return useAcc;
- }
- }
- void changeName() //changes first and last name
- {
- int useAcc = accGet();
- system("CLS");
- cout << "\nPlease enter your new first name\n";
- cin >> ChangeName;
- EpicBank[useAcc].Fname = ChangeName;
- cout << "\nPlease enter your new last name\n";
- cin >> ChangeName;
- EpicBank[useAcc].Lname = ChangeName;
- system("PAUSE");
- system("CLS");
- }
- void AddAccount() //add account function
- {
- system("CLS");
- char NewAccType;
- string newInfo;
- int newBal;
- cout << "\nPlease Enter The Following Info: "; //asks for all info
- cout << "\n\nFirst: ";
- cin >> newInfo;
- newAcc.Lname = newInfo;
- cout << "\nLast: ";
- cin >> newInfo;
- newAcc.Fname = newInfo;
- cout << "\nAddress number: ";
- cin >> newInfo;
- newAcc.Address = newInfo;
- cout << "\nCity: ";
- cin >> newInfo;
- newAcc.City = newInfo;
- cout << "\nStreet: ";
- cin >> newInfo;
- newAcc.Street = newInfo;
- cout << "\nState: ";
- cin >> newInfo;
- newAcc.State = newInfo;
- cout << "\nZip code: ";
- cin >> newInfo;
- newAcc.Zip = newInfo;
- cout << "\nEnter C or S for checking or savings: ";
- cin >> NewAccType;
- newAcc.AccType = NewAccType;
- cout << "\nEnter a balance: ";
- cin >> newBal;
- newAcc.Balance = newBal;
- cout << "\nEnter an interest rate: ";
- cin >> newBal;
- newAcc.IntRate = newBal;
- newAcc.AccountNumber = NextAccNum;
- NextAccNum++; //increments next account number
- cout << "\n\nYour account has been set up with the number: " << newAcc.AccountNumber << endl; //shows account number
- EpicBank.push_back(newAcc);
- system("PAUSE");
- system("CLS");
- }
- void DisplayInfo() //just displays info
- {
- int useAcc = accGet();
- cout << "\nName: " << EpicBank[useAcc].Fname << " " << EpicBank[useAcc].Lname << "\n";
- cout << "Balance: " << EpicBank[useAcc].Balance << "\n";
- cout << "Interest Rate: " << EpicBank[useAcc].IntRate << "\n";
- cout << "City: " << EpicBank[useAcc].City << "\n";
- cout << "State: " << EpicBank[useAcc].State << "\n";
- cout << "Street: " << EpicBank[useAcc].Street << "\n";
- cout << "Number Address: " << EpicBank[useAcc].Address << "\n";
- cout << "Account Number: " << EpicBank[useAcc].AccountNumber << "\n";
- cout << "Account Type: " << EpicBank[useAcc].AccType << "\n";
- system("PAUSE");
- system("CLS");
- }
- void MakeDeposit() //adds money
- {
- system("CLS");
- int useAcc = accGet();
- cout << "Please Make A Deposit: ";
- cin >> EpicBank[useAcc].AddBalance;
- EpicBank[useAcc].Balance = EpicBank[useAcc].AddBalance + EpicBank[useAcc].Balance;
- system("PAUSE");
- system("CLS");
- }
- void AddInterest() //adds interest
- {
- system("CLS");
- int useAcc = accGet();
- cout << "Please Add Interest: ";
- cin >> EpicBank[useAcc].AddIntRate;
- EpicBank[useAcc].IntRate = EpicBank[useAcc].AddIntRate + EpicBank[useAcc].IntRate;
- system("PAUSE");
- system("CLS");
- }
- void ChangeStreet() //changes street
- {
- system("CLS");
- int useAcc = accGet();
- cout << "Please Enter your Address Number: ";
- cin >> EpicBank[useAcc].NewAddress;
- EpicBank[useAcc].Address = EpicBank[useAcc].NewAddress;
- cout << "Please Enter your Street Name: ";
- cin >> EpicBank[useAcc].NewStreet;
- EpicBank[useAcc].Street = EpicBank[useAcc].NewStreet;
- system("PAUSE");
- system("CLS");
- }
- void SearchCity()
- {
- // Asks for the city they want to search for
- system("CLS");
- int useAcc = accGet();
- string findcity;
- cout << "\nWhat city would you like to search for?\n";
- cin >> findcity;
- cout << "\n\nSearching...\n";
- cout << "\nAll results for " << findcity << " are shown below\n\n";
- // Searches for a matching city in the accounts
- for (int i = 0; i < EpicBank.size(); i++)
- {
- if (EpicBank[i].City == findcity)
- {
- // Displays the account number, name, and city
- cout << (i + 1) << " " << EpicBank[i].Lname << ", " << EpicBank[i].Fname << ", " << EpicBank[i].City << endl;
- system("PAUSE");
- }
- }
- }
- void SearchName()
- {
- // Asks for the name they want to search for
- system("CLS");
- int useAcc = accGet();
- string name;
- cout << "\nWhat name would you like to search for?\n";
- cin >> name;
- cout << "\n\nSearching...\n";
- system("PAUSE");
- system("CLS");
- cout << "\nAll results for " << name << " are shown below\n\n";
- // Searches for a matching name in the accounts
- for (int i = 0; i < EpicBank.size(); i++)
- {
- if (EpicBank[i].Fname == name || EpicBank[i].Lname == name)
- {
- // Displays the account number and name
- cout << (i + 1) << " " << EpicBank[i].Lname << ", " << EpicBank[i].Fname << endl;
- }
- }
- }
- };
- int main()
- {
- Bank2 Bank;
- //Bank.OpenFile();
- Bank.menu();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement