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

📄 atm.cpp

📁 一个ATM机的处理程序
💻 CPP
字号:
#include<iostream.h> 
#include<stdlib.h> 
#include<fstream.h> 

double balance; unsigned long password; 

enum MakeSure {Fail,Success}; 

class ATM 
{ 
  public: 
     CheckID (unsigned long); 
     Save (unsigned long); 
     Depoist (unsigned long); 
     Search (); 
     ChangePassword (); 
     Card (char *,char *,unsigned long); 
     CheckPassword (); 
     Menu (); 
     G_File_B (); 
     W_File_B (); 
     G_File_P (); 
     W_File_P (); 
  private: 
     char *Name; 
     char *Sex; 
     unsigned long ID; 
     unsigned long Password; 
     double Balance; 
}; 

ATM::CheckID (unsigned long x) 
{ 
   
   if(x==Password) 
   return Success; 
   else 
   return Fail; 
} 

ATM::Save (unsigned long m) 
{ 
   Balance+=m; 
   cout<<"存款成功!"<<endl; 
   Menu (); 
} 

ATM::Depoist (unsigned long n) 
{ 
   Balance-=n; 
   if(Balance<=0) 
   {   
   cout<<"对不起!余额不足!"<<endl; 
   Balance+=n; 
   } 
   else 
   cout<<"取款成功!"<<endl; 
   Menu (); 
} 

ATM::Search () 
{   
   cout<<"你的余额为: " 
       <<Balance 
       <<" 元" 
       <<endl; 
   Menu (); 
} 

ATM::ChangePassword () 
{ 
    for(;;) 
    { 
   cout<<"请输入原密码:"<<endl; 
   int OldPassword; 
   cin>>OldPassword; 
    
   unsigned long NewPassword1; 
   for(;;) 
   { 
   cout<<"请输入新密码(长度6):"<<endl; 
   cin>>NewPassword1; 
   if(100000<=NewPassword1&&NewPassword1<1000000) break; 
   } 

   cout<<"新密码确认:"<<endl; 
   int NewPassword2; 
   cin>>NewPassword2; 
    
   if(Password==OldPassword&&NewPassword1==NewPassword2) 
   {  
       cout<<"修改密码成功!"<<endl; 
       Password=NewPassword1; 
       W_File_P (); break; 
   } 
   else 
   { 
       cout<<"失败!"<<endl<<"返回请按0  重试请按其它"<<endl; 
       int x; cin>>x; 
       if(x==0) break;       
   } 
    } 
   Menu (); 
} 

ATM::Card (char *name,char*sex,unsigned long id) 
{ 
   Name=name; 
   Sex=sex; 
   ID=id; 
   G_File_P (); 
   Password=password; 
   G_File_B (); 
   Balance=balance; 
   CheckPassword (); 
} 

ATM::CheckPassword () 
{ 
   for(int i=0;i<3;i++) 
   { 
   cout<<"请输入密码:"<<endl; 
   unsigned long x; 
   cin>>x; 
   if(CheckID (x)) break; 
   } 
   if(i==3) 
   { 
   cout<<"对不起!你连续三次输入无效密码,卡预予收回"<<endl; 
   exit(0); 
   } 
   Menu ();  
} 

ATM::Menu () 
{ 
   cout<<endl 
       <<"  *服务菜单*     "<<endl 
       <<"-----------------"<<endl 
       <<" <1> 存款"<<endl 
       <<" <2> 取款"<<endl 
       <<" <3> 查询"<<endl 
       <<" <4> 修改密码"<<endl 
       <<" <5> 取卡"<<endl 
       <<"-----------------"<<endl; 
   int s; 
   for(;;) 
   { 
   cout<<"请选择服务项目:"<<endl; 
   cin>>s; 
   if(s>0&&s<6) break; 
   } 
   switch (s) 
   { 
     case 1: cout<<"请输入存款数目:"<<endl; 
             unsigned long m; 
         cin>>m; 
         Save (m); break; 

     case 2: cout<<" *选择菜单*"<<endl 
                 <<"-------------"<<endl 
         <<" <1> 100元"<<endl 
         <<" <2> 200元"<<endl 
         <<" <3> 300元"<<endl 
         <<" <4> 400元"<<endl 
         <<" <5> 500元"<<endl 
         <<"-------------"<<endl; 
             unsigned long x,n; 
         for(;;) 
         { 
             cout<<"请选择取款数目:"<<endl; 
         cin>>x; 
             if(x>0&&x<6) break; 
             } 
         switch (x) 
         { 
           case 1: n=100; break; 
           case 2: n=200; break; 
           case 3: n=300; break; 
           case 4: n=400; break; 
           case 5: n=500; break; 
         } 
             Depoist (n); break; 

     case 3: Search ();break; 

     case 4: ChangePassword (); break; 

     case 5: cout<<"请取卡!欢迎下次使用!"<<endl<<endl; W_File_B (); 
         exit(0);           
   } 
} 
   
ATM::G_File_B () 
{   
    ifstream BG("d:\\取款机余额.txt"); 
    BG>>balance>>" "; 
    BG.close(); 
} 

ATM::W_File_B () 
{       
    ofstream BG("d:\\取款机余额.txt"); 
    BG<<Balance<<" "; 
    BG.close(); 
} 

ATM::G_File_P () 
{   
    ifstream PG("d:\\取款机密码.txt"); 
    PG>>password>>" "; 
    PG.close(); 
} 

ATM::W_File_P () 
{   
    ofstream PG("d:\\取款机密码.txt"); 
    PG<<Password<<" "; 
    PG.close(); 
} 


void main () 
{ 
   ATM No1,No2,No3,No4,No5; 

   No1.Card ("金喜善","男",12026201202228572); 
   //No2.Card ("张柏芝","女",12026201202228527); 
   //No3.Card ("李嘉诚","男",12026201202227852); 

}

⌨️ 快捷键说明

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