小银行系统

#include <iostream>
#include <windows.h>
#include <fstream>
#include <cstring>
using namespace std ;

char name[20] ;
int PASSWORD=123456 ;
class Hand{
   public:
          void query() ;    //查询余额
          void witdraw() ; //取款
          void deposit() ; //存款
          void read() ; //读取文件
          void save() ;
          void xiu() ;   //修改密码
          void zhuan() ;
   private:
          double money ;
};

class Print{ //显示
 public:
         void password() ;
         void mnue() ;//显示菜单
         void control() ; //根据用户的选项实现功能

};
//Print函数块
void Print::mnue()
{
      system("cls");
      cout << "欢迎来到MY的银行"<< endl ;
      cout << "1.查询余额" << endl ;
      cout << "2.取款" << endl ;
      cout << "3.存款" << endl ;
      cout << "4.转账" << endl ;
      cout << "5.修改密码" << endl ;
      cout << "6.退出" << endl ;
}

void Print::control()
{
      int i ;
      Hand h ;
      h.read() ;
      while(1)
    {
      mnue() ;
      cout << "请输入您需要操作功能的序号:" ;
      cin >> i ;
      switch(i)
      {
          case 1 : h.query() ; break ;
          case 2 : h.witdraw() ; break ;
          case 3 : h.deposit() ; break ;
          case 4 : h.zhuan() ; break ;
          case 5 : h.xiu() ; break ;
          case 6 : h.save() ; exit(1) ;
          default : cout << "输入错误请重新输入!" << endl ;Sleep(1000) ;break ;
      }
    }
}

void Print::password()
{
      int n ;
      cout << "请输入帐户:" ;
      cin >> name ;
      strcat (name,".txt") ;
      int i=0 ;
      Hand p ;
      p.read() ;
      cout << "请输入密码:"  ;
      while(i<3)
    {
      cin >> n ;
      if(n!=PASSWORD)
      {
        system("cls") ;
        cout << "输入错误请重新输入:" ;
      }
      else
      {
          break ;
      }
      i++ ;
    }
    if(i==3)
    {
        system("cls") ;
        cout << "您已经输入错误三次,请您到前台进行重新办理,谢谢" << endl ;
        exit(1) ;
    }
}
//Hand类块

void Hand::query() //查询余额
{
     cout << "账户余额为:" << money << endl ;
     Sleep(2000) ;
}

void Hand::witdraw()  //取款
{
    double i ;
    cout << "请输入您要取款的金额:" ;
    cin >> i ;
    if(i<=money)
    {
        money = money - i ;
        cout << "取款成功!" << endl ;
    }
    else
    {
        cout << "对不起您账户余额不足,本银行不能透支" << endl ;
    }
    Sleep(2000) ;
}

void Hand::deposit() //存入
{
    double i ;
    cout << "请输入您要存入的金额:" ;
    cin >> i ;
    money = money + i ;
    cout << "存款成功!" << endl ;
    Sleep(1000) ;
}

void Hand::read()
{
     ifstream fin(name,ios::in) ;
     if(!fin.read((char*)&PASSWORD,sizeof(PASSWORD))) {return;}
     fin.read((char*)&money,sizeof(money)) ;
     fin.close() ;
}

void Hand::save()
{
     ofstream fout(name,ios::out) ;
     fout.write((char*)&PASSWORD,sizeof(PASSWORD)) ;
     fout.write((char*)&money,sizeof(money)) ;
     fout.close() ;
}

void Hand::xiu()//修改
{
    int i,j ;
    cout << "请输入新密码:" ;
    cin >> i ;
    cout << endl ;
    cout << "请再次输入新密码:" ;
    cin >> j ;
    if(i == j)
    {
        PASSWORD = i ;
    }
    else{cout << "俩次输入不一致" << endl ;Sleep(1000);}
}

void Hand::zhuan()//转存
{
     char s[20] ;
     int f ;
     int m ;
     cout << "请输入转入的账号: " << endl ;
     cin >> s ;
     strcat (s,".txt") ;
     cout << "请输入转入的金额:" << endl ;
     cin >> m ;
     if(m>money){cout << "转入金额大于卡内金额";Sleep(1000);return;}
     money -= m ;
     ifstream fin(s,ios::in) ;
     if(!fin){cout << "没有此客户" << endl ; exit(1);}
     fin.read((char*)&f,sizeof(f)) ;
     fin.read((char*)&money,sizeof(money)) ;
     fin.close() ;
     money += m ;
     ofstream fout(s,ios::out) ;
     fout.write((char*)&f,sizeof(f)) ;
     fout.write((char*)&money,sizeof(money)) ;
     fout.close() ;
}

int main()
{
    class Print t ;
    t.password() ;
    t.control() ;
    return 0 ;
}

我是利用多个文件来分别储存账户,文件中有每一个账户的么密码,文件名为账户,进行数据处理。其中如果是没有的账号我会为他初始密码为123456.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值