Hi, I need help on a C++ assignment that reads commands from a bank.txt file. Th
ID: 3688850 • Letter: H
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 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;
}
Sample output:
File Opened
Account number 1 created with an initial balance of $100.01
Account number 2 created with an initial balance of $200.02
Deposited $11.11 into account #1 current balance is $111.12
Deposited $22.22 into account #2 current balance is $222.04
Unrecognized command - Bad
Current balance in account #1 is $111.02
Current balance in account #2 is $222.04
Explanation / Answer
given are the code with commets to make easily understanding the working of the code.
//Account.h://
#ifndef ACCOUNT_H
#define ACCOUNT_H
class Account
{// account class//
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.cpp://
#include "Account.h"
void printBalances();
int main()
{
int selection;
double transaction = 0;
cout << fixed << showpoint << setprecision(2);
do
{// select the operation//
cout << "Please select:" << endl;
cout << "1.) Deposit" << endl;
cout << "2.) Withdraw" << endl;
cout << "3.) Transfer" << endl;
cout << "4.) Print balances" << endl;
cout << "5.) Quit" << endl;
cin >> selection;
if(selection == 1)
{
cout << endl << "Please enter the amount to be deposited:" << endl;
cin >> transaction;
cout << endl;
deposit(amount);
}
else if(selection == 2)
{
cout << endl << "Please enter the amount to be withdrawn:" << endl;
cin >> transaction;
cout << endl;
withdraw(amount);
}
else if(selection == 3)
{
cout << endl << "Please enter the amount to be transferred:" << endl;
cin >> transaction;
cout << endl;
transfer(amount);
}
else if(selection == 4)
showBalances();
else
cout << "wrong selection…choice between 1 to 4" << endl;
}while(selection != 5);
system("pause");
return 0;
}
//function that show the balance//
void showBalances()
{
Account savings, checking;
cout << "The current balance in is: " << savings.GetBalance() << endl;
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.