📄 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 + -