/********************************************* Reads in Bank Account information from BankAccts.txt and reads in transactions data from Transactions.txt and prints out account info at end of year. **********************************************/ #include <iostream> #include <fstream> #include <string> using namespace std; /********************************************* ** PROTOTYPES & CLASS DEFINITIONS *********************************************/ struct Account { string name; int number; double balance; }; int find(int acctnum, Account *A, int N); /********************************************* ** MAIN FUNCTION *********************************************/ int main() { // Open input file and read header information ifstream AIN("BankAccts.txt"); int N; string s; AIN >> N >> s; AIN >> s >> s >> s; // Read accounts Account *A = new Account[N]; char c; for(int i = 0; i < N; i++) AIN >> A[i].number >> c >> A[i].balance >> A[i].name; // Read & execute transactions string date; int acctnum; double transamt; ifstream TIN("Transactions.txt"); while(TIN >> date >> acctnum >> transamt) { int i = find(acctnum,A,N); A[i].balance = A[i].balance + transamt; } // Write end-of-year statement for(int i = 0; i < N; i++) { cout << A[i].number << '\t' << A[i].name << '\t' << '$' << A[i].balance << endl; } return 0; } /********************************************* ** FUNCTION DEFINITIONS *********************************************/ // returns index of Account with number acctnum. // If none is found, the index N is returned. int find(int acctnum, Account *A, int N) { int k = 0; while (k < N && A[k].number != acctnum) k++; return k; }