Question: Hi, I need help on a C++ assignment that reads commands from a bank.txt file. The program must process the following four commands. Create account

Hi, I need help on a C++ assignment that reads commands from a bank.txt file. The program must process the following four commands. Create account amount Deposit account amount Withdraw account amount Balance account In all of the above commands, account is an integer and amount is a double. The following program behavior is required 1. Valid account numbers are 1-9. This requires the program to have an array of references to Account objects. 2. If the first word on any line contains a command other than the four listed above, an error message should be displayed and that line ignored. 3. The create command creates a new account object with the given account number and initial balance. If an account already exists with that number an error message should be displayed and the command ignored. 4. The Deposit and Withdraw commands perform the indicated operation on an existing account. If no account with that number has been created, an error message is displayed and the command ignored. 5. The Balance command displays the balance of the requested account. No change to the account occurs. If no account with that number has been created, an error message is displayed and the command ignored. Helpful Hints * One way to skip the rest of a line if there is a bad command or account number is string junk; if (inFile.peek() != ' ') getline(inFile, junk); * Test your program extensively to make sure it behaves as it should. I will use a different bank.txt file

Here's what I have so far:

Account.h:

#ifndef ACCOUNT_H #define ACCOUNT_H class Account { private: int id; double balance; public: Account(); Account(int newID, double initialBalance); void setId(int newID); int getId(); void setBalance(double newBalance); double getBalance(); void withdraw(double amount); void deposit(double amount); }; #endif

Account.cpp:

Account::Account() { id = 0; balance = 0; } Account::Account(int newID, double initialBalance) { id = newID; balance = initialBalance; } void Account::setId(int newID) { id = newID; } int Account::getId() { return id; } void Account::setBalance(double newBalance) { balance = newBalance; } double Account::getBalance() { return balance; } void Account::withdraw(double amount) { balance -= amount; } void Account::deposit(double amount) { balance += amount; }

bank.txt example:

 Create 1 100.01 Create 2 200.02 Create 3 3000.03 Deposit 1 11.11 Deposit 2 22.22 Withdraw 4 5000.00 Create 4 4000.04 Withdraw 1 0.10 Balance 2 Withdraw 2 0.20 Deposit 3 33.33 Withdraw 4 0.40 Bad Command 65 Balance 1 Balance 2 Balance 3 Balance 4 

Expected output: File Opened Account number 1 created with an initial balance of $1000.01 Account number 2 created with an initial balance of $2000.02 Account number 3 created with an initial balance of $3000.03 Deposited $11.11 into account #1 Current balance is $1011.12 Deposited $22.22 into account #2 Current balance is $2022.24 Invalid Account Number - 4 Account number 4 created with an initial balance of $4000.04 Withdrew $0.1 from account #1 Current balance is $1011.02 Current balance in account #2 is $2022.24 Withdrew $0.2 from account #2 Current balance is $2022.04 Deposited $33.33 into account #3 Current balance is $3033.36 Withdrew $0.4 from account #4 Current balance is $3999.64 Unrecognized command - Bad Current balance in account #1 is $1011.02 Current balance in account #2 is $2022.04 Current balance in account #3 is $3033.36 Current balance in account #4 is $3999.64 Press any key to continue...

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!