ATM管理系统

include<iostream.h>

include<string.h>

include<stdio.h>

include<fstream.h>

include<stdlib.h>

class Bank{
public:
static int num;
int welcome();//登录界面
void openAccount(Bank bank[]);//开户
void deposit(Bank bank[]);//存款
void withdraw(Bank bank[]);//取款
void transfer(Bank bank[]);//转帐
void closeAccount(Bank bank[]);//销户
void information(Bank bank[]);//查询
private:
char name[20];//姓名
char ID[20]; //身份证
long count;//账号
int number;//电话号码
char mima[20]; //密码
int money; //余额
};

//构造登录界面函数显示选择界面

int Bank::num=0;
int Bank::welcome()
{
char i;
do{
system("cls");
cout<<"\t\t@@@@@@@@@@@@@@@@@@@@@@@@@@" <<endl
<<"\t\t@ @" <<endl
<<"\t\t@ 银行账户管理系统 @" <<endl
<<"\t\t@ @" <<endl
<<"\t\t@ @" <<endl
<<"\t\t@ 1. 开户. 4. 转帐. @" <<endl
<<"\t\t@ @" <<endl
<<"\t\t@ 2. 存款. 5. 销户. @" <<endl
<<"\t\t@ @" <<endl
<<"\t\t@ 3. 取款. 6. 查询. @" <<endl
<<"\t\t@ 0. 退出 @" <<endl
<<"\t\t@@@@@@@@@@@@@@@@@@@@@@@@@$" <<endl <<endl
<<"\t\t\t请选择要服务的内容(0~6) :" ;
cin>>i;
}while(i-'0'<0||i-'0'>6);
return i-'0';
}

//构造开户函数

void Bank::openAccount(Bank bank[])
{
int j;
char mima1[20];
ofstream os("账户.txt",ios::app);
bank[num].money=0;
cout<<"请输入创建姓名"<<endl;
cin>>bank[num].name;
cout<<"请输入身份证号"<<endl;
cin>>bank[num].ID;
cout<<"请输入创建账号"<<endl;
cin>>bank[num].count;
cout<<"请输入电话号码"<<endl;
cin>>bank[num].number;
cout<<"请输入密码"<<endl;
cin>>bank[num].mima;
cout<<"请再次输入密码"<<endl;
cin>>mima1;
if(strcmp(mima1,bank[num].mima)!=0)
{
cout<<"密码前后输入不一致,请重新输入"<<endl;
return;
}
for(j=0;j<num;j++)
if(bank[num].count==bank[j].count)
{
cout<<"账号已存在,请从新输入账号"<<endl;
this->openAccount(bank);
}
cout<<"账户创建成功,请牢记你的密码和账号!"<<endl;
os<<"姓名 账号 余额"<<endl
os<<bank[num].name<<" "<<bank[num].count<<" "<<bank[num].money<<endl;
os.close();
num++;
}

//构造存款函数

void Bank::deposit(Bank bank[])
{
long count;
int money=0;
cout<<"请输入银行账号"<<endl;
cin>>count;
for(int i=0;i<num;i++)
if(count==bank[i].count)
{
cout<<"请输入所存金额"<<endl;
cin>>money;
bank[i].money+=money;
cout<<"存款成功!"<<endl;
ofstream os("账户.txt");
for(int j=0;j<num;j++)
os<<bank[i].name<<" "<<bank[i].count<<" "<<bank[i].mima<<endl;
return;
}
cout<<"此账户不存在,请先进行开户"<<endl;
}

//构造取款函数

void Bank::withdraw(Bank bank[])
{
long count;
int money=0;
char mima[20];
cout<<"请输入银行账号"<<endl;
cin>>count;
cout<<"请输入密码"<<endl;
cin>>mima;
for(int i=0;i<num;i++)
if((strcmp(mima,bank[i].mima)!=0)&&(countbank[i].count))
{ cout<<"密码错误,请重新输入"<<endl;
cin>>mima;
if((strcmp(mima,bank[i].mima)
0)&&(countbank[i].count))
{
cout<<"请输入取款金额"<<endl;
cin>>money;
bank[i].money-=money;
cout<<"取款成功!"<<endl;
ofstream os("账户.txt");
for(int j=0;j<num;j++)
os<<bank[i].name<<" "<<bank[i].count<<" "<<bank[i].mima<<endl;
return;
}
}
else
if((strcmp(mima,bank[i].mima)
0)&&(count==bank[i].count))
{
cout<<"请输入取款金额"<<endl;
cin>>money;
bank[i].money-=money;
cout<<"取款成功!"<<endl;
ofstream os("账户.txt");
for(int j=0;j<num;j++)
os<<bank[i].name<<" "<<bank[i].count<<" "<<bank[i].mima<<endl;
return;
}
cout<<"此账户不存在,请先进行开户"<<endl;
}

//构造转账函数

void Bank:: transfer(Bank bank[])
{
long count1,count2;
int money;
cout<<"请输入您的账号:";
cin>>count1;
cout<<"请输入密码"<<endl;
cin>>mima;
for(int i=0;i<num;i++)
if((strcmp(mima,bank[i].mima)0)&&(countbank[i].count))
{
cout<<"请输入转账的用户账号"<<endl;
cin>>count2;
for(int j=0;j<num;j++)
if(count2==bank[j].count)
{
cout<<"请输入转账的金额";
cin>>money;
if(bank[i].money-money<0)
{
cout<<"对不起,您的账户上余额不足"<<endl;
return;
}
bank[i].money-=money;
bank[j].money+=money;
cout<<"转账成功!"<<endl;
ofstream os("账户.txt");
for(int k=0;k<num;k++)
os<<bank[i].name<<" "<<bank[i].count<<" "<<bank[i].mima<<endl;
return;
}
cout<<"该用户不存在"<<endl;
return;
}
cout<<"您输入的账户不存在或密码错误"<<endl;
}
未创建账户错误

//构造销户函数

void Bank::closeAccount(Bank bank[])
{
int i,j;
long count;
char mima[20];
cout<<"请输入银行账号"<<endl;
cin>>count;
cout<<"请输入密码"<<endl;
cin>>mima;
for(i=0;i<num;i++)
if((strcmp(mima,bank[i].mima)0)&&(countbank[i].count))
{
int c;
cout<<"您确定要注销此户(Y/N)?"<<endl;
cin>>c;
if(c'n'||c'N')
return;
else
{
for(j=i;j<num-1;j++)
{
strcpy(bank[j].name,bank[j+1].name);
strcpy(bank[j].ID,bank[j+1].ID);
strcpy(bank[j].mima,bank[j+1].mima);
bank[j].count=bank[j+1].count;
bank[j].money=bank[j+1].money;
bank[j].number=bank[j+1].number;
}
num--;
cout<<"\n\t\t\t账户注销成功!"<<endl;
ofstream os("账户.txt");
for(i=0;i<num;i++)
os<<bank[i].name<<" "<<bank[i].count<<" "<<bank[i].mima<<endl;
system("pause");
return;
}
}
cout<<"您输入的账户不存在或密码错误"<<endl;

}

//构造查询函数

void Bank::information(Bank bank[])
{
int i;
long count;
char mima[20];
cout<<"请输入银行账号"<<endl;
cin>>count;
cout<<"请输入密码"<<endl;
cin>>mima;
for(i=0;i<num;i++)
if((strcmp(mima,bank[i].mima)0)&&(countbank[i].count))
{
cout<<"姓名"<<bank[i].name<<endl;
cout<<"账号"<<bank[i].count<<endl;
cout<<"余额"<<bank[i].money<<endl;
return;
}
cout<<"您输入的账户不存在或密码错误"<<endl;
}

//函数主体

void main()
{
Bank bank[100];
for(;😉
switch(bank->welcome())
{
case 0: cout<<"谢谢使用!"<<endl; exit(0);
case 1: bank->openAccount(bank) ; system("pause"); break;
case 2: bank->deposit(bank) ; system("pause"); break;
case 3: bank->withdraw(bank) ; system("pause"); break;
case 4: bank->transfer(bank) ; system("pause"); break;
case 5: bank->closeAccount(bank) ; system("pause"); break;
case 6: bank->information(bank) ; system("pause"); break;
}
}

psp 任务内容 计划完成时间(min) 实际完成时间(min)
Planning 计划 20 25
Estimate 估计任务时间并规划大概步骤 15 25
Design 设计 180 200
Code Review 代码复审 10 20
posted @ 2020-11-18 16:05  lllj  阅读(165)  评论(0编辑  收藏  举报