银行储蓄系统.docx

上传人:b****4 文档编号:24929275 上传时间:2023-06-02 格式:DOCX 页数:25 大小:19.61KB
下载 相关 举报
银行储蓄系统.docx_第1页
第1页 / 共25页
银行储蓄系统.docx_第2页
第2页 / 共25页
银行储蓄系统.docx_第3页
第3页 / 共25页
银行储蓄系统.docx_第4页
第4页 / 共25页
银行储蓄系统.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

银行储蓄系统.docx

《银行储蓄系统.docx》由会员分享,可在线阅读,更多相关《银行储蓄系统.docx(25页珍藏版)》请在冰豆网上搜索。

银行储蓄系统.docx

银行储蓄系统

//头文件

#include

#include

#include

#include

#include

#defineMAXNUM10000//银行中最大开户数

usingnamespacestd;

//定义卡的结构体

structAccount

{

charcardId[20];//银行卡的卡号

charname[9];//开户人

charidentity[19];//身份证号

charpassword[7];//密码

floatbalance;//余额

intstate;//状态0-正常-1-挂失-2-冻结-3-销户

};

//银行中所有卡

Accountarray[MAXNUM];

//银行中现已开户的数量

intsize=0;

voidmainface();//主界面

voidopenAccount();//1开户

voidsave();//2存款

voidwithdraw();//3取款

voidquery();//4查询

voidzhuangtai();

voidloss();//5挂失

voidtransfer();//6转账

voidfreeze();//7冻结

voidcloseAnAcount();//8销户

//公共函数

//根据卡的下标打印该卡的信息

voidprintCardInfo(intposition);//打印信息

voidshuchuzhuangtai();//判断卡的状态是处于:

正常/挂失/冻结/销户

intchakahao(charusecard[]);//查找卡号的函数

intchakahaomima();//查找卡号和密码信息的函数

voidgetPassword(charpass[],intnum);//被调用函数,密码以星号形式输出

charshenfenzhenghao[19];//身份证号

intposition=0;//位置

charusecard[20];//卡号

charname1[9];//用户名

charpass1[7],pass2[7];//密码

floatcash;//存/取款现金

intmain()

{

charusename[10];//输入的用户名

charusepass[10];//输入的密码

intn=2,i=0;

//银行系统首页

cout<<"★☆★☆★☆★☆★☆★☆★☆★☆★☆★"<

cout<<"☆☆"<

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

cout<<"☆*欢迎进入银行储蓄系统!

*☆"<

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

cout<<"☆☆"<

cout<<"★☆★☆★☆★☆★☆★☆★☆★☆★☆★"<

//根据输用户名和密码是否正确判断还有几次输入机会

do

{

cout<<"请输入银行工作人员姓名:

"<

cin>>usename;

cout<<"请输入工作人员密码:

"<

getPassword(usepass,6);

cout<

//设定银行工作人员输入姓名与密码在系统中

if(strcmp("chl",usename)==0&&strcmp("123456",usepass)==0)//判断银行工作人员姓名与工作人员密码是否与输入的一致

{

mainface();

}

else

{

//判断还有几次输入机会,根据输入的密码是否正确

if(n>0)

{

cout<<"输入有误,请重新输入。

您还有"<

"<

n=n-1;

}

else

{

cout<<"账户已被锁定24小时!

"<

}

}

}

while(strcmp("chl",usename)!

=0||strcmp("123456",usepass)!

=0);//如果银行工作人员姓名与密码与系统中的不一致,将继续循环程序,直到被锁定

return0;

}

voidmainface()//主界面

{

intorder;//选择键

//业务界面

cout<<"\n+--------------------------+"<

cout<<"|开户请按1存款请按2|"<

cout<<"|取款请按3查询请按4|"<

cout<<"|挂失请按5转账请按6|"<

cout<<"|冻结请按7销户请按8|"<

cout<<"+--------------------------+"<

cout<<"请输入你的选择业务:

"<

cin>>order;

switch(order)

{

case1:

openAccount();//开户

cout<<"请按任意键返回:

"<

//执行完上面功能,按任意键返回主界面

getch();

system("cls");//清屏

mainface();

break;

case2:

save();//存款

cout<<"请按任意键返回:

"<

//执行完上面功能,按任意键返回主界面

getch();

system("cls");//清屏

mainface();

break;

case3:

withdraw();//取款

cout<<"请按任意键返回:

"<

//执行完上面功能,按任意键返回主界面

getch();

system("cls");//清屏

mainface();

break;

case4:

query();//查询

cout<<"请按任意键返回:

"<

//执行完上面功能,按任意键返回主界面

getch();

system("cls");//清屏

mainface();

case5:

loss();

cout<<"请按任意键返回:

"<

//执行完上面功能,按任意键返回主界面

getch();

system("cls");//清屏

mainface();//挂失

case6:

transfer();//转账

cout<<"请按任意键返回:

"<

//执行完上面功能,按任意键返回主界面

getch();

system("cls");//清屏

mainface();

case7:

freeze();//冻结

cout<<"请按任意键返回:

"<

//执行完上面功能,按任意键返回主界面

getch();

system("cls");//清屏

mainface();

case8:

closeAnAcount();//销户

cout<<"请按任意键返回:

"<

//执行完上面功能,按任意键返回主界面

getch();

system("cls");//清屏

mainface();

default:

cout<<"对不起,您的选择超出了我们的服务范围"<

mainface();//其他情况直接回到主界面

}

}

voidopenAccount()//1.开户操作

{

cout<<"请输入卡号:

"<

cin>>usecard;

cout<<"请输入开户人:

"<

cin>>name1;

cout<<"请输入身份证号:

";

cin>>shenfenzhenghao;

cout<<"请输入密码:

"<

getPassword(pass1,6);

cout<<"\n请确认密码:

"<

getPassword(pass2,6);

//判断两次输入的密码是一样

if(strcmp(pass1,pass2)==0)

{

cout<<"\n请输入金额:

"<

cin>>cash;

//将开户信息赋予开户的这张卡中

strcpy(array[size].cardId,usecard);

strcpy(array[size].name,name1);

strcpy(array[size].password,pass1);

array[size].identity,shenfenzhenghao;

array[size].state=0;

array[size].balance=cash;

//账户数量+1

size++;

cout<<"\n开户成功!

"<

printCardInfo(size-1);//打印

}

else

{

//两次输入的密码不一样

cout<<"\n两次输入的密码不一致,请重新操作!

";

openAccount();

}

}

//打印卡的信息

voidprintCardInfo(intposition)

{

cout<<"+-------------------------------------------------+"<

cout<<"|\t卡号|\t"<

cout<<"+-------------------------------------------------+"<

cout<<"|\t开户人|\t"<

cout<<"+-------------------------------------------------+"<

cout<<"|\t金额|\t"<

:

fixed)<

(2)<

cout<<"+-------------------------------------------------+"<

cout<<"|\t状态|\t";shuchuzhuangtai();

cout<<"+-------------------------------------------------+"<

}

//判断卡的状态是处于:

正常/挂失/冻结/销户

voidshuchuzhuangtai()

{

if(array[position].state==0)

cout<<"正常"<

if(array[position].state==-1)

cout<<"以挂失"<

if(array[position].state==-2)

cout<<"已被冻结"<

if(array[position].state==-3)

cout<<"已销户"<

}

voidsave()//2.存款

{

intn=2;

if(array[position].state!

=0)

{

cout<<"卡的状态异常,不能进行存款!

"<

}

else

{

cout<<"请输入银行卡卡号:

"<

cin>>usecard;

position=chakahao(usecard);

//根据卡下标判断是否存在

if(position==-1)

cout<<"找不到该卡信息,不能进行存款!

";

if(position!

=-1)

{

cout<<"请输入现金金额:

"<

cin>>cash;

if(cash>0)//判断输入现金是否有意义

{

array[position].balance+=cash;

printCardInfo(position);//打印

}

else

{

cout<<"输入金额不正确,请重新输入!

";

save();

}

}

}

}

//被调用函数,用来检验卡的信息是否存在

intchakahao(charusecard[])

{

inti,position=-1;

for(i=0;i<=size-1;i++)

{

if(strcmp(array[i].cardId,usecard)==0)

{

position=i;

break;

}

}

return(position);

}

//被调用函数,用来检验卡和密码信息是否存在

intchakahaomima(charusecard[],charpass1[])

{

inti,position=-1;

for(i=0;i<=size-1;i++)

{

if(strcmp(array[i].cardId,usecard)==0&&strcmp(array[i].password,pass1)==0)

{

position=i;

break;

}

}

return(position);//返回给主函数

}

voidwithdraw()//3.取款

{

if(array[position].state!

=0)

{

cout<<"卡的状态异常,不能进行取款!

"<

}

else

{

intn=2;

cout<<"请输入银行卡卡号:

"<

cin>>usecard;

cout<<"请输入银行卡密码:

"<

getPassword(pass1,6);

position=chakahaomima(usecard,pass1);

if(position==-1)

cout<<"\n找不到该卡信息,不能进行取款!

";

if(position!

=-1)

{

cout<<"\n请输入取出现金金额:

"<

cin>>cash;

if(cash=0)

{

array[position].balance-=cash;

printCardInfo(position);

}

else

{

cout<<"余额不足,请重新输入!

";

withdraw();

}

}

}

}

voidquery()//4.查询

{

cout<<"请输入银行卡卡号:

"<

cin>>usecard;

cout<<"请输入密码:

"<

getPassword(pass1,6);

position=chakahaomima(usecard,pass1);

if(position==-1)

{

cout<<"\n查询不到该卡信息!

"<

cout<<"\n请按任意键返回主界面:

";

getchar();

mainface();

}

if(position!

=-1)

{

if(strcmp(array[position].password,pass1)==0&&strcmp(array[position].cardId,usecard)==0)

printCardInfo(position);

zhuangtai();

}

}

voidzhuangtai()//检验卡的状态,根据不同的状态输出不同的结果

{

if(array[position].state==0)

{

cout<<"\n该账户信息正常!

"<

}

elseif(array[position].state==-1)

{

cout<<"\n该账户已挂失!

"<

}

elseif(array[position].state==-2)

{

cout<<"\n该账户已冻结!

"<

}

else

{

cout<<"\n该账户已销户!

"<

}

}

voidloss()//5.挂失

{

if(array[position].state==-1)

{

cout<<"卡已处于挂失状态,不能进行挂失!

"<

}

if(array[position].state==0)

{

cout<<"请输入银行卡卡号:

"<

cin>>usecard;

cout<<"请输入银行卡密码:

"<

getPassword(pass1,6);

position=chakahaomima(usecard,pass1);

if(position==-1)

cout<<"\n找不到该卡信息,不能进行挂失!

";

if(position!

=-1)

{

if(strcmp(array[position].password,pass1)==0&&strcmp(array[position].cardId,usecard)==0)

{

cout<<"\n是否确认挂失?

"<

cout<<"\n如果是,请按1,否则请按2"<

intorder;

cin>>order;

switch(order)

{

//判断条件

//1.挂失

//2.取消挂失

//3.重新挂失

case1:

array[position].state=-1;

cout<<"\n挂失成功!

"<

case2:

array[position].state=0;

cout<<"\n取消挂失成功"<

default:

cout<<"\n挂失失败,请重新挂失!

"<

}

}

}

}

}

voidtransfer()//6.转账

{

if(array[position].state!

=0)

{

cout<<"卡的状态异常,不能进行转账!

"<

}

else

{

intposition2;

charusecard1[20];

cout<<"请输入卡号:

"<

cin>>usecard1;

cout<<"请输入密码:

"<

getPassword(pass1,6);

position2=chakahaomima(usecard1,pass2);//验证卡号和密码

cout<<"\n请输入要转入的卡号:

"<

cin>>usecard;

position=chakahao(usecard);

//查找转入账号

if(position==-1)

{

cout<<"\n查不到该卡信息!

"<

}

else

{

if(position2==-1)

{

if(strcmp(array[position].password,pass1)==0&&strcmp(array[position].cardId,usecard)==0)

cout<<"\n密码或卡号错误!

"<

}

else

{

if(strcmp(array[position].password,pass1)==0&&strcmp(array[position].cardId,usecard)==0)

cout<<"\n请输入转账金额:

"<

cin>>cash;

if(array[position].balance>=cash&&cash>0)//判断金额是否有效

{

//执行转账

array[position2].balance-=cash;

array[position].balance+=cash;

cout<<"\n转账成功!

"<

printCardInfo(position2);//打印

}

else

{

cout<<"\n余额不足!

"<

}

}

}

}

}

voidfreeze()//7.冻结

{

if(array[position].state==-2)

{

cout<<"卡处于冻结状态,不能进行再次冻结!

"<

}

if(array[position].state==0)

{

cout<<"请输入银行卡卡号:

"<

cin>>usecard;

cout<<"请输入银行卡密码:

"<

getPassword(pass1,6);

intorder;

cout<<"\n是否冻结该账户?

"<

cout<<"\n如果是,请按1,否则,请按2"<

cin>>order;

position=chakahaomima(usecard,pass1);//检验卡号和密码

if

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 金融投资

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1