16_3.cpp
资源名称:c.rar [点击查看]
上传用户:puke2000
上传日期:2022-07-25
资源大小:912k
文件大小:2k
源码类别:

C#编程

开发平台:

Visual C++

  1. //16_3
  2. #include <iostream.h>
  3. #include "account.h"
  4. #include "savings.h"
  5. #include "checking.h"
  6. void DoSavings(int n);
  7. void DoChecking(int n);
  8. void DoAccess(int n);
  9. void main()
  10. {
  11.   int sele;
  12.   while(1){
  13.     cout <<"bank managementnn"
  14.          <<"0. Returnn"
  15.          <<"1. Savings businessn"
  16.          <<"2. Checking businessnn"
  17.          <<"select : ";
  18.     cin >>sele;
  19.     if(sele==1||sele==2)
  20.       DoAccess(sele);
  21.     if(sele==0)
  22.       break;
  23.   }
  24.   //sanhou
  25.   for(Account* p=Account::First(); p; ){
  26.     Account* t=p;
  27.     p=p->Next();
  28.     delete t;
  29.   }
  30.   Account::First()=NULL;
  31. }
  32. void DoAccess(int s)
  33. {
  34.   int sele=0;
  35.   while(1){
  36.     cout <<"Fetching or savingnn"
  37.          <<"0. Returnn"
  38.          <<"1. Fetchingn"
  39.          <<"2. Savingnn"
  40.          <<"select : ";
  41.     cin >>sele;
  42.     if(sele==1||sele==2)
  43.       if(s==1)
  44.         DoSavings(sele);
  45.       else
  46.         DoChecking(sele);
  47.     if(sele==0)
  48.       break;
  49.   }
  50.   //sanhou
  51. }
  52. void DoSavings(int n)
  53. {
  54.   unsigned aN;
  55.   float val;
  56.   if(n==2){  //saving
  57.     cout <<"please input some account and checking:n";
  58.     cin >>aN >>val;
  59.     while(aN){
  60.       new Savings(aN,val);
  61.       cout <<"please input some account and checking:n";
  62.       cin >>aN >>val;
  63.     }
  64.   }else{
  65.     cout <<"please input a account number:n";
  66.     cin >>aN;
  67.     while(aN){
  68.       for(Account* p=Account::First(); p; p=p->Next())
  69.         if(p->AccountNo()==aN && dynamic_cast<Savings*>(p)){
  70.           cout <<"Savings Account: "<<p->AccountNo()
  71.                <<"  " <<p->AcntBalan() <<endl;
  72.           break;
  73.         }
  74.       cout <<"please input a account number:n";
  75.       cin >>aN;
  76.     }
  77.   }
  78. }
  79. void DoChecking(int n)
  80. {
  81.   unsigned aN;
  82.   float val;
  83.   if(n==2){  //checking
  84.     cout <<"please input some account and checking:n";
  85.     cin >>aN >>val;
  86.     while(aN){
  87.       new Checking(aN,val);
  88.       cout <<"please input some account and checking:n";
  89.       cin >>aN >>val;
  90.     }
  91.   }else{
  92.     cout <<"please input a account number:n";
  93.     cin >>aN;
  94.     while(aN){
  95.       for(Account* p=Account::First(); p; p=p->Next())
  96.         if(p->AccountNo()==aN && dynamic_cast<Checking*>(p)){
  97.           cout <<p->AccountNo() <<"  " <<p->AcntBalan() <<endl;
  98.           break;
  99.         }
  100.       cout <<"please input a account number:n";
  101.       cin >>aN;
  102.     }
  103.   }
  104. }