Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "Bank.h"
- #include <fstream>
- #include <string>
- #include <cstring>
- #include <limits>
- using namespace std;
- void displayAccountInfo(bank);
- struct node
- {
- bank data;
- node * next;
- node()
- {
- next = nullptr;
- }
- };
- struct linkedList
- {
- node * head;
- bool appendNode(node * newnode)
- {
- if(head == nullptr)
- {
- head = newnode;
- }
- else
- {
- node * iter = head;
- while(iter->next != nullptr)
- {
- iter= iter->next;
- }
- iter->next = newnode;
- }
- return true;
- }
- void findJohnAccount()
- {
- node * iter = head;
- while(iter->next != nullptr)
- {
- if(strcmp(iter->data.getOwner(), "Jhon Hancock") == 0)
- {
- iter->data.withdraw(600);
- iter->data.withdraw(300);
- iter->data.deposit(400);
- }
- iter = iter->next;
- }
- }
- void sortAccounts()
- {
- node * iter = head;
- node * prev = head;
- node * temp;
- bool swap;
- do
- {
- swap = false;
- while(iter->next != nullptr)
- {
- if(iter->data.getBalance() > iter->next->data.getBalance())
- {
- temp = iter;
- iter = iter->next;
- if(prev != head)
- {
- prev = iter->next;
- }
- iter->next = temp;
- swap = true;
- }
- if(swap == false)
- {
- iter = iter->next;
- }
- }
- }while(swap);
- }
- linkedList()
- {
- head = nullptr;
- }
- };
- int main()
- {
- ifstream inputfile;
- string filename;
- linkedList * info = new linkedList();
- bank person;
- int num;
- double balance;
- string name;
- cout << "Enter the filename: ";
- cin >> filename;
- inputfile.open(filename);
- if(!inputfile.is_open())
- {
- cout << "failure";
- }
- else
- {
- while(!inputfile.eof())
- {
- node * newnode = new node();
- inputfile >> num;
- newnode->data.setAccountNumber(num);
- inputfile >> balance;
- newnode->data.setBalance(balance);
- inputfile.ignore(INT_MAX, '\n');
- inputfile.clear();
- getline(inputfile, name);
- char * ownerName = new char[name.length() + 1];
- strcpy(ownerName, name.c_str());
- newnode->data.setOwner(ownerName);
- info->appendNode(newnode);
- displayAccountInfo(newnode->data);
- delete[] ownerName;
- }
- }
- info->findJohnAccount();
- info->sortAccounts();
- inputfile.close();
- delete info;
- return 0;
- }
- void displayAccountInfo(bank obj)
- {
- cout << "Account number: " << obj.getAccountNumber() << endl;
- cout << "Balance: " << obj.getBalance() << endl;
- cout << "Name: " << obj.getOwner() << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement