#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.
9452

被折叠的 条评论
为什么被折叠?



