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

📄 新建 文本文档 (2).txt

📁 学习c++有一段时间了
💻 TXT
字号:
// ************************************

  // * *

  // * function.h *

  // * *

  // ************************************

  

  #include

  

  

  class consumer;

  

  class ATM

  // ATM取款机

  {

  public:

   ATM(consumer& cn):cnsm(cn)

   {

   }

   void welcome();

   // 登陆界面

   bool check_passwd(char n[],char pwd[]);

   // 核对密码

   void change_passwd();

   // 修改密码

   void fetchmoney();

   // 取款

   void information();

   // 查询信息

   void exitATM();

   // 退出系统

   void functionshow();

   // 功能界面

   void lock();

   // 锁机

  private:

   int times;

   // 记录密码输入次数

   consumer& cnsm;

  

  };

  

  class consumer

  // 用户

  {

  public:

   friend class ATM;

   consumer(char Name[],char Num[],

   float Money,char Password[]);

  protected:

   char* get_name();

   // 取得姓名

   char* get_num();

   // 取得卡号

   char* get_passwd();

   // 取得密码

   float get_money();

   // 取得余额

   void set_passwd(char pwd[]);

   // 设置密码

   void set_money(float m);

   // 取钱

  private:

   char passwd[8];

   // 用户密码

   char name[20];

   // 用户姓名

   char num[20];

   float money;

  };
// ************************************

  // * *

  // * consumer类的成员函数 *

  // * *

  // ************************************

  

  #include"function.h"

  #include

  

  consumer::consumer(char Name[],

  char Num[],float Money,char Password[])

  {

   strcpy(name,Name);

   strcpy(num,Num);

   money=Money;

   strcpy(passwd,Password);

  }

  

  float consumer::get_money()

  {

   return money;

  }

  

  char* consumer::get_name()

  {

   return name;

  }

  

  char* consumer::get_num()

  {

   return num;

  }

  

  char* consumer::get_passwd()

  {

   return passwd;

  }

  

  void consumer::set_money(float m)

  {

   money-=m;

  }

  

  void consumer::set_passwd(char pwd[])

  {

   strcpy(passwd,pwd);

  }
 // ************************************

  // * *

  // * ATM类的成员函数 *

  // * *

  // ************************************


  #include "function.h"

  #include

  #include

  

  void ATM::welcome()

  {

   times=0;

   cout<<"$

   欢迎使用若雪银行ATM自动取款机!~!

   "<

  

   char pwd[8],num[20],ch;

   int i=0;

   do

   {

   i=0;

   cout<<<"请输入卡号:";
<<"请输入卡号:";>
   do

   {

   cin.get(ch);

   num[i++]=ch;

   }while(ch!='\n');

   num[i-1]='\0';

  

   i=0;

   cout<<"请输入密码:";

   do

   {

   cin.get(ch);

   pwd[i++]=ch;

   }while(ch!='\n');

   pwd[i-1]='\0';

  

   if(!check_passwd(num,pwd))

   {

   cout<<"你输入的卡号或密码有误,

   请重新输入"<

   times++;

   }

   else

   {

   functionshow();

   }

   }while(times<3);

   lock();

  }

  

  bool ATM::check_passwd(char num[],

  char pwd[])

  {

   if(strcmp(num,cnsm.get_num())==0&&strcmp

   (pwd,cnsm.get_passwd())==0)

   return true;

   else

   return false;

  }

  

  void ATM::functionshow()

  {

   int n;

  

   do

   {

   cout<<<"请你输入相应的操作序号进行操作:

   "<

   cout<<"1) 修改密码 "<

   <<"2) 取款 "<

   <<"3) 查询余额 "<

   <<"4) 退出系统 "<

   cout<<"$ >\\";

   cin>>n;

   while(n<1  n>4)

   {

   cout<<"请输入正确的操作序号!"<

   cout<<"$ >\\";

   cin>>n;

   }

  

   switch(n)

   {

   case 1: change_passwd();

   break;

   case 2: fetchmoney();

   break;

   case 3: information();

   break;

   case 4: exitATM();

   break;

   }

  

   }while(true);

  

  

  

  }

  

  void ATM::change_passwd()

  {

   char pwd[8],repwd[8];

  

   times=0;

   do

   {

   cout<<<"请输入旧密码:";

   cin>>pwd;

   if(!check_passwd(cnsm.get_num(),pwd))

   times++;

   else

   break;

   }while(times<3);

  

   if(times==3)

   lock();

  

   int t=0;

   do

   {

   cout<<"请输入新密码:";

   cin>>pwd;

   cout<<"请再输入一次新密码:";

   cin>>repwd;

   if((t=strcmp(pwd,repwd))!=0)

   cout<<"你输入的两次密码不一样,

   请重新输入!"<

   }while(t!=0);

  

   cnsm.set_passwd(pwd);

   cout<<"密码修改成功,请牢记!"<

  

  }

  

  void ATM::fetchmoney()

  {

   float m;

   char ch;

   do

   {

  

   cout<<<"你要取多少钱:"
<<"你要取多少钱:">
   <<"\n$>\\"<

   cin>>m;

   while(m<=0)

   {

   cout<<"请输入正确的数字!"<

   cout<<"$ >\\ ";

   cin>>m;

   }

  

   if(cnsm.get_money()-m<0)

   {

   cout<<"对不起,你的余额不足!"

   <

   }

   else

   {

   cout<<<"操作成功,请收好钱!"

   <

   cnsm.set_money(m);

   }

   cout<<"是否要继续该项操作:(Y/N) "

   <

   cout<<"$ >\\ ";

   cin>>ch;

   while(ch!='n'&&ch!='N'&&ch!='Y'&&ch!='y')

   {

   cout<<"$ >\\";

   cin>>ch;

   }

  

   }while(ch=='y'  ch=='Y');

  

  }

  

  void ATM::information()

  {

   cout<<"**********************************"<

   cout<<"*"<

   cout<<"* 用户姓名:"<<

   cout<<"* 卡号: "<<

   cout<<"* 余额: "<<

   cout<<"**********************************"<

  

  }

  

  void ATM::lock()

  {

   cout<<<"对不起,由于你的操作有误,

   你的卡已经被没收! "<

   exit(1);

  }

  

  void ATM::exitATM()

  {

   cout<<<"感谢你对本银行的支持,

   欢迎下次光临!"<

   cout<<"请取卡……"<

   exit(0);

  }

  

  

  

  

  // ************************************

  // * *

  // * ATM.cpp *

  // * *

  // ************************************

  #include

  #include"function.h"

  

  void main()

  {

   consumer c1("jim","12345",5200.3f,"123");

   // 先构造一个用户

   ATM atm(c1);

   atm.welcome();

  }

⌨️ 快捷键说明

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