⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 transaction.h

📁 使用c++简单实现ATM自动提款机
💻 H
字号:
#include"Account.h"

//......................Transaction Base Class
class Transaction {
public:
      Transaction(int uid,int ucode,float uamount);
      virtual ~Transaction(){};
      int   getID();
      int   getCode();
      void  setAcct(Account*);
      int   getTID();
      void  setTacct(Account*);
      void  RegetUserAmount();
      virtual void execute()=0;
protected:
     
      int       id;   //account id entered by user
      int       code; // pin code entered by user
      float     amount;
      Account*  acct;// pointer to the account with this id
      int       tid; // a second account id(for transfer)
      Account*  tacct; //a pointer to the second account 
};

Transaction::Transaction(int uid,int ucode,float uamount){
  id=uid;
  code=ucode;
  amount=uamount;
  acct=0;
  tid=0;
  tacct=0;
}
int   Transaction::getID()  { return id;  }
int   Transaction::getCode(){ return code;}
int   Transaction::getTID() { return tid; }
void  Transaction::setAcct(Account* a) { acct=a; }
void  Transaction::setTacct(Account* b){ tacct=b;}
void Transaction::RegetUserAmount(){
   float uamount;
   cout<<"Please Re-enter amount: ";
   cin>>uamount;
   amount=uamount;
 }
//................................. Deposit Transaction

class DepTransaction : public Transaction {
public:
      DepTransaction(int,int ,float);
      ~DepTransaction(){};
      void execute();
};
DepTransaction::DepTransaction(int uid,int ucode,float uamount):Transaction(uid,ucode,uamount){}
void DepTransaction::execute(){
                
             Transaction::acct->deposit(Transaction::amount);// deposit the amount to current account 
     
}
//................................ Balance Transaction

class BalTransaction : public Transaction {
public:
      BalTransaction(int,int ,float);
      ~BalTransaction(){};
      void execute();
};
BalTransaction::BalTransaction(int uid,int ucode,float uamount):Transaction(uid,ucode,uamount){}
void BalTransaction::execute(){
     
     }
//............................... Withdraw Transaction
class WithTransaction : public Transaction {
public:
      WithTransaction(int,int ,float);
      ~WithTransaction(){};
      void execute();
};
WithTransaction::WithTransaction(int uid,int ucode,float uamount):Transaction(uid,ucode,uamount){}
void WithTransaction::execute(){
      
      Transaction::acct->withdraw(Transaction::amount);// Withdraw the amount to current account
     }
//............................... Transfer Transaction
class TranTransaction : public Transaction {
public:
      TranTransaction(int,int ,float);
      ~TranTransaction(){};
      void execute();
};
TranTransaction::TranTransaction(int uid,int ucode,float uamount):Transaction(uid,ucode,uamount){}
void TranTransaction::execute(){
     Transaction::acct->withdraw(Transaction::amount);// transfer the amount from the current customer
     Transaction::tacct->deposit(Transaction::amount);// to another customer account that the user enters
     }


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -