Advertisement
dujiajun

Saving Account

Dec 10th, 2018
475
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.51 KB | None | 0 0
  1. #include <cstring>
  2. #include <iostream>
  3. using namespace std;
  4. class SavingAccount
  5. {
  6.     static int count;
  7.     static double rate;
  8.     double money;
  9.  
  10.     char date[20];
  11.  
  12.   public:
  13.     int No;
  14.     SavingAccount();
  15.     SavingAccount(const char *ndate, double nmoney, double nrate);
  16.     ~SavingAccount();
  17.     void change(double newrate);
  18.     void calculate();
  19.     double getMoney() const;
  20.     void display() const;
  21. };
  22.  
  23. double SavingAccount::rate = 0.05;
  24. int SavingAccount::count = 0;
  25.  
  26. void SavingAccount::change(double newrate)
  27. {
  28.     rate = newrate;
  29. }
  30.  
  31. void SavingAccount::display() const
  32. {
  33.     cout << money << endl;
  34. }
  35.  
  36. double SavingAccount::getMoney() const
  37. {
  38.     return money;
  39. }
  40.  
  41. void SavingAccount::calculate()
  42. {
  43.     money += money * rate;
  44. }
  45.  
  46. SavingAccount::SavingAccount()
  47. {
  48.     count++;
  49.     No = count;
  50.     money = 0;
  51. }
  52. SavingAccount::SavingAccount(const char *ndate, double nmoney, double nrate)
  53. {
  54.     count++;
  55.     No = count;
  56.     strcpy(date, ndate);
  57.     money = nmoney;
  58.     rate = nrate;
  59. }
  60.  
  61. SavingAccount::~SavingAccount()
  62. {
  63.     count--;
  64. }
  65.  
  66. int main()
  67. {
  68.     char date[20];
  69.     double money, rate;
  70.     cout << "Date money rate: ";
  71.     cin >> date >> money >> rate;
  72.     SavingAccount sa1(date, money, rate);
  73.     SavingAccount sa2(date, money, rate);
  74.     cout << sa1.No << " " << sa2.No << endl;
  75.  
  76.     sa1.calculate();
  77.     sa1.display();
  78.  
  79.     cout << "New rate: ";
  80.     cin >> rate;
  81.     sa1.change(rate);
  82.  
  83.     sa1.calculate();
  84.     sa1.display();
  85.  
  86.     return 0;
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement