for this programming assignment you will create a class call

for this programming assignment you will create a class called Acount. It will have class variables of name of type string, dollars of type int, and cents of type int. You will need to implement a default constructor, a copy constructor, a parameter, a destructor, a mutator and accessor for the name variable, a deposit method that tales in two ints as parameters, and overload the following operators >, <, >=, <=, ==, !=, <<, >>, and =. Remember that the prototypes should be in Account.h and the implementation in Account.cpp

For implementing the << and >> operators look at the expected input and output to make them correctly.

Write a main method in Bank.cpp that will follow the sample output below to test your Account class. An outline for Bank.cpp is below:

n thing Bank cpp is below: void displayAccountChoices (int, Account int) int main Declare any need variables Account *acct; Find out how many accounts there will be. Verify that number of accounts is positive Create a dynamic array of Accounts to the size of number of accounts entered Loop to read in all of the accounts info You should be using the operator Set up a Sentinel loop until -999 is entered. Change try delaul Dun\'t ask again x O E a

Solution

Code:

Account.h:

#include<iostream>
using namespace std;

class Account
{
string name;
int dollars;
int cents;

public:
Account();
Account(string&s,int d,int c);
~Account();

//Accessors
string& getName();
int getDollars();
int getCents();
double getBalance();

//Mutators
void setName(string& s);
void setDollars(int d);
void setCents(int c);

void deposit(int d,int c);
void withdraw(int ,int);

//Operators overloaded
  
bool operator >(Account &);
bool operator <(Account &);
bool operator >=(Account &);
bool operator <=(Account &);
bool operator ==(Account &);
bool operator !=(Account &);
Account operator =(Account &);

friend ostream& operator<<(ostream& out,Account& a);
friend istream& operator>>(istream& in,Account& a);
  
};

Account.cpp:

#include<iostream>
#include<string>
using namespace std;

#include \"Account.h\"

Account::Account(){
dollars=cents=0;
}

Account::Account(string &n,int d,int c){
name.assign(n);
dollars=d;
cents=c;
}

Account::~Account()
{
cout<<\"Account::Destructor\"<<endl;
}


string& Account::getName(){ return name;}

int Account::getDollars(){return dollars;}

int Account::getCents(){return cents;}

void Account::setName(string &n){ name.assign(n);}

void Account::setDollars(int d){dollars=d;}

void Account::setCents(int c){cents = c;}

void Account::deposit(int d,int c){ dollars+=d; cents+=c;}

double Account::getBalance(){ return dollars+(cents/100);}

void Account::withdraw(int d,int c)
{
if(d>dollars|| c>cents)
{
   cout<<\"Insufficient money in bank\"<<endl;
   return;
}
dollars-=d;
cents-=c;
}

bool Account::operator>(Account &a){

if(getBalance()>a.getBalance())
   return true;

return false;
}

bool Account::operator<(Account &a){

if(getBalance()<a.getBalance())
   return true;

return false;
}

bool Account::operator>=(Account &a){

if(getBalance()>=a.getBalance())
   return true;

return false;
}

bool Account::operator<=(Account &a){

if(getBalance()<=a.getBalance())
   return true;

return false;
}

bool Account::operator==(Account &a){

if(getBalance()==a.getBalance())
   return true;

return false;
}

bool Account::operator!=(Account &a){

if(getBalance()!=a.getBalance())
   return true;

return false;
}

Account Account::operator=(Account &a){
Account newAccount;

newAccount.setName(a.getName());
newAccount.setDollars(a.getDollars());
newAccount.setCents(a.getCents());

return newAccount;

}

ostream& operator<<(ostream&out, Account & a)
{
cout<<a.name<<\" \"<<a.dollars<<\" \"<<a.cents<<endl;
}

istream & operator>>(istream & in, Account &a)
{

cout<<\"Enter name,dollars,cents:\";
cin>>a.name>>a.dollars>>a.cents;

}

Bank.cpp:

#include<iostream>
#include<string>
using namespace std;
#include \"Account.h\"

void displayAccountChoices(int,Account*,int);

int main(void)
{
int n;
Account *act;

cout<<\"Enter number of records:\";
cin>>n;

if(n<0){
   cout<<\"input number is not positive. Quiting...\"<<endl;
   return 0;
}

act= new Account[n];

for(int i=0;i<n;i++)
   cin>>act[i];

int opt;

while(1){
   cout<<\"Enter the number of the account to be modified. to quit enter -999\"<<endl;
   for(int i=0;i<n;i++)
       cout<<i+1<<\":\"<<act[i]<<endl;
   cin>>opt;

   if(opt!=-999)
       displayAccountChoices(opt-1,act,n);
   else if(opt==-999)
       break;
}

return 0;
}

void displayAccountChoices(int a,Account *act,int n)
{
char opt;
int d,c;

while(1){
cout<<\"Would you like to make a (D)eposit, (W)ithdraw,(P)rint balance or (A)ccount Menu?\"<<endl;
cin>>opt;

if(opt==\'a\' || opt==\'A\')
   break;
else if(opt==\'D\')
{
   cout<<\"How many dollars,cents:\";
   cin>>d>>c;
   act[a].deposit(d,c);
}
else if(opt==\'W\'){
   cout<<\"Dollars,cents to withdraw:\";
   cin>>d>>c;
   act[a].withdraw(d,c);
}
else if(opt== \'P\'){
   cout<<act[a]<<endl;
   cout<<\"The balance in account is $\"<<act[a].getBalance()<<endl;
}
}
}

Output:

Enter number of records:3
Enter name,dollars,cents:Checking 10 20
Enter name,dollars,cents:Saving 20 15
Enter name,dollars,cents:CD 10000 50
Enter the number of the account to be modified. to quit enter -999
1:Checking 10 20

2:Saving 20 15

3:CD 10000 50

1
Would you like to make a (D)eposit, (W)ithdraw,(P)rint balance or (A)ccount Menu?
P
Saving 20 15

Would you like to make a (D)eposit, (W)ithdraw,(P)rint balance or (A)ccount Menu?
D
How many dollars,cents:5 20
Would you like to make a (D)eposit, (W)ithdraw,(P)rint balance or (A)ccount Menu?
P
Saving 25 35

Would you like to make a (D)eposit, (W)ithdraw,(P)rint balance or (A)ccount Menu?
W
Dollars,cents to withdraw:2 20
Would you like to make a (D)eposit, (W)ithdraw,(P)rint balance or (A)ccount Menu?
W
Dollars,cents to withdraw:0 25
Insufficient money in bank
Would you like to make a (D)eposit, (W)ithdraw,(P)rint balance or (A)ccount Menu?
A
Enter the number of the account to be modified. to quit enter -999
1:Checking 10 20

2:Saving 23 15

3:CD 10000 50

-999

for this programming assignment you will create a class called Acount. It will have class variables of name of type string, dollars of type int, and cents of ty
for this programming assignment you will create a class called Acount. It will have class variables of name of type string, dollars of type int, and cents of ty
for this programming assignment you will create a class called Acount. It will have class variables of name of type string, dollars of type int, and cents of ty
for this programming assignment you will create a class called Acount. It will have class variables of name of type string, dollars of type int, and cents of ty
for this programming assignment you will create a class called Acount. It will have class variables of name of type string, dollars of type int, and cents of ty

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site