In: Computer Science
In c++ Design a class named Account that contains:
a.An int data field named id for the account.
b.A double data field named balancefor the account.
c.A double data field named annualInterestRate that stores the current interestrate.
d.A no-arg constructor that creates a default account with id 0, balance 0, andannualInterestRate 0.
e.The set and get functions for id,balance, and annualInterestRate.
f.A functionearnedAmount()that calculates and returns the amount of dollars earned after one year.
g.A function named printAccountInfo() that print all the account information (ID, current balance, interest rate, earned amount after one year).
h.A function named withdraw(amount) that withdraws a specified amount fromthe account. You cannot withdraw more money than the account has.
i.A function named deposit(amount) that deposits a specified amount to theaccount.
j.Write a test program that creates an Account object with an account ID of 1122,a balance of 20000, and an annual interest rate of 4.5%. Print the account info. Use the withdrawfunction to withdraw $2500, print the account info. Use the deposit function to deposit $3000, print the account info.k. Create a UML diagram for the Account class.
C++ Program:
#include <iostream>
using namespace std;
//Account Class
class Account
{
//Data Members
private:
int id;
double balance;
double annualInterestRate;
//Operations
public:
//No-Arg Constructor
Account()
{
id=0;
balance=0;
annualInterestRate=0;
}
//Setter methods
void setId(int tid)
{
id = tid;
}
void setBalance(double tBal)
{
balance = tBal;
}
void setAnnualInterestRate(double intRate)
{
annualInterestRate = intRate;
}
//Getter methods
int getId()
{
return id;
}
double getBalance()
{
return balance;
}
double getAnnualInterestRate()
{
return annualInterestRate;
}
//Earned amount after year
double earnedAmount()
{
return (balance + (balance * (annualInterestRate/100)));
}
//Printing info
void printAccountInfo()
{
cout << "\nID: " << id;
cout << "\nCurrent Balance: $" << balance;
cout << "\nInterest Rate: " <<
annualInterestRate;
cout << "\nEarned amount after one year: $" <<
earnedAmount();
}
//Withdraw
void withdraw(double amt)
{
//checking balance
if(amt > balance)
{
cout << "\nInsufficient Funds...\n";
}
else
{
balance = balance-amt;
cout << "\nWithdrawl Successfull...\n";
}
}
//Deposit
void deposit(double amt)
{
balance = balance+amt;
cout << "\nDeposit Successfull...\n";
}
};
//Main method
int main()
{
//Creating an Account object
Account acc;
//Assigning values
acc.setId(1122);
acc.setBalance(20000);
acc.setAnnualInterestRate(4.5);
//Printing info
acc.printAccountInfo();
//Withdraw
acc.withdraw(2500);
//Printing info
acc.printAccountInfo();
//Deposit
acc.deposit(3000);
//Printing info
acc.printAccountInfo();
return 0;
}
__________________________________________________________________________________________
Sample Run:
________________________________________________________________________________________
UML Diagram: