Implement all member functions of the following class:
#include < iostream >
#include < string >
using namespace std;
class Person
{
public:
Person();
Person(string pname, int page);
void get_name() const;
void get_age() const;
private:
string name;
int age; // 0 if unknown
};
// TODO
/*
Implement all member functions of the class Person.
*/
Person::Person()
{
name = "";
age = 0;
}
Person::Person(string pname, int page)
{
name = pname;
age = page;
}
void Person::get_name() const
{
cout << "name : " << name << endl;
}
void Person::get_age() const
{
cout << "age : " << age << endl;
}
// ------------------------------
// DON'T MODIFY BELOW
int main()
{
Person person1();
Person person2("James", 10);
cout << "person 1" << endl;
person1.get_name();
person1.get_age();
cout << "person 2" << endl;
person2.get_name();
person2.get_age();
}
Implement a class Account. An account has a balance, functions to add and withdraw money, and a function to query the current balance. Charge a $5 penalty if an attempt is made to withdraw more money than available in the account.
#include < iostream >
#include < string >
using namespace std;
class Account
{
public:
Account();
Account(double pbalance);
void add(double money);
void withdraw(double money);
void query() const;
private:
double balance;
};
// TODO
/*
Implement all member functions of the class Account.
*/
Account::Account()
{
balance = 0;
}
Account::Accoutn(double pbalance)
{
balance = pbalance;
}
void Account::add(double money)
{
balance += money;
}
void Account::withdraw(double money)
{
if(money > balance)
{
balance -= 5;
}
else
{
balance -= money;
}
}
void Account::query()
{
cout << "Your current balance is $ " << balance << "." << endl;
}
// ------------------------------
// DON'T MODIFY BELOW
int main()
{
Account acc1(100);
acc1.add(200);
acc1.withdraw(50);
acc1.query(); // Expect to print out $ 250
acc1.withdraw(300);
acc1.query(); // Expect to print out $ 245
}
Implement a class Bank. This bank has two objects, checking and savings, of the type Account that was developed in Exercise P5.4. Implement four member functions:
void deposit(double amount, string account)
void withdraw(double amount, string account)
void transfer(double amount, string account)
void print_balances()
Here the account string is "S" or "C". For the deposit or withdrawal, it indicates which account is affected. For a transfer it indicates the account from which the money is taken; the money is automatically transferred to the other account.
#include < iostream >
#include < string >
using namespace std;
class Account
{
public:
Account();
Account(double pbalance);
void add(double money); // mutator
void withdraw(double money); // mutator
double get_balance() const;
void query() const; // accessor
private:
double balance;
}; // Important to put a semicolon at the end of the class
Account::Account()
{
balance = 0;
}
Account::Account(double pbalance)
{
balance = pbalance;
}
void Account::add(double money)
{
// balance = balance + money;
balance += money;
}
void Account::withdraw(double money)
{
if(money > balance){
cout << "that was not cool" << endl;
balance -= 5;
}else{
balance -= money;
}
}
double Account::get_balance() const
{
return balance;
}
void Account::query() const
{
cout << "--------------------------------" << endl;
cout << " Your Current Balance" << endl;
cout << " $ " << balance << endl;
cout << "--------------------------------" << endl;
}
// ------ BANK ------
class Bank
{
public:
Bank();
void deposit(double amount, string account); //mutator
void withdraw(double amount, string account); //mutator
void transfer(double amount, string account); //mutator
void print_balances() const; // accessor
private:
Account checking;
Account saving;
};
Bank::Bank()
{
checking = Account();
saving = Account();
}
void Bank::deposit(double amount, string account)
{
if(account == "C"){
checking.add(amount);
}else if(account == "S"){
saving.add(amount);
}else{
cout << "Wrong Input" << endl;
}
}
void Bank::withdraw(double amount, string account)
{
if(account == "C"){
checking.withdraw(amount);
}else if(account == "S"){
saving.withdraw(amount);
}else{
cout << "Wrong Input" << endl;
}
}
void Bank::transfer(double amount, string account)
{
if(account == "C"){
checking.withdraw(amount);
saving.add(amount);
}else if(account == "S"){
saving.withdraw(amount);
checking.add(amount);
}else{
cout << "Wrong Input" << endl;
}
}
void Bank::print_balances() const
{
cout << " CHECKING " << endl;
checking.query();
cout << " SAVING" << endl;
saving.query();
}
int main()
{
Bank B1;
while(true)
{
cout << "1. add \t 2. withdraw \t 3. transfer \t 4. query" << endl;
int choice;
cin >> choice;
if(choice == 1){
cout << "ADD" << endl;
cout << "Which account? : ";
string acc;
cin >> acc;
cout << "How much? : ";
double amount;
cin >> amount;
B1.deposit(amount, acc);
}else if(choice == 2){
cout << "WITHDRAW" << endl;
cout << "Which account? : ";
string acc;
cin >> acc;
cout << "How much? : ";
double amount;
cin >> amount;
B1.withdraw(amount, acc);
}else if(choice == 3){
cout << "TRANSFER" << endl;
cout << "Which account? : ";
string acc;
cin >> acc;
cout << "How much? : ";
double amount;
cin >> amount;
B1.transfer(amount, acc);
}else if(choice == 4){
cout << "QUERY" << endl;
B1.print_balances();
}else{
break;
}
}
}