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; } } }