1南昌航空大学C++语言课程设计题目:银行账户管理系统班级:130431班学号:13043121姓名:刘杨日期:2016年4月15日2一题目介绍银行账户管理程序问题描述设计计一个银行账户管理程序,账户的信息有账号(唯一)、姓名、余额、身份证号码、电话号码等,允许用户进行如下操作:开户、销户、存款、取款、转账、查询,一个用户可以有多个户头,账户的数值没有上限,保存为文件。基本要求程序运行时,可以由用户选择进行何种操作。输入:程常运行后,屏幕上显示一个文字菜单(根据序号选定相应的操作项目)当用户选定操作项目所对应的序号时,根据应用程序的提示信息,从键盘上输入相应的数据。输出:1.应用程序正常运行后,要在屏幕上显示一个文字菜单2.要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容,格式及结束方式等。二系统分析本程序定义了一个银行类Bank,用户可根据界面提示自行操作。由于要实现界面的回复,所以用了大量的函数调用,在控制用户的循环操作时采用了大量的for循环、dowhile语句、ifelse语句、return语句、switch语句等。程序大体分为九个方面:1*定义一个银行类Bank,数据成员主要有姓名、身份证号码、账号、电话号码、余额、密码等内容,可供用户操作的功能有首页,开户、存款、取款、转账、销户、查询等。2*构造首页函数,显示银行系统的操作选择界面,具体包括开户、销户、存款、取款、转账、查询、退出等七个部分,帮助客户清晰的看到需要进行服务的内容,以便按照提示进行选择。在选择是运用了dowhile语句限定了只能按0~6之间的数字进行选择,按其他的键均不起作用。3*构造开户函数,按照提示输入相关信息进行账户的创建,该系统根据不同的客户可创建多个账户,运用for循环语句和if判断语句保证每个用户和账号都不重复(即唯一)。如果账号重复,系统会提示账号已经存在请重新创建,并且把开户的结果保存在文件中。4*构造存款函数,主要运用for循环语句和if判断语句,用户输入账号进行存款,如果账号不存在系统会提示账号不存在,然后提示重新输入账号或者先进行开户再进行存款。若账号正确系统提示输入所存金额,则存款成功,同时信息会保存在文件中。5*构造取款函数,主要运用for循环语句和ifelse判断语句,输入银行3账号和密码,若账号正确密码错误会显示密码错误,然后重新输入密码。若密码和账号都正确则可以进行取款服务,若密码和账号都错误,则系统会提示该账户不存在。并且把信息保存在文件中。6*构造转账函数,主要运用for循环语句和ifelse判断语句及return语句等,只要正确输入转出、转入账户的密码和账号就可实现将一个账户所存的钱转给另一个账户,但若转账金额大于所存金额系统会提示余额不足,若密码和账户有一个出错则转账服务无法完成,并且把相关信息存在文件中。7*构造销户函数,主要运用for循环语句和ifelse判断语句及return语句等,若输入的密码和账户信息均正确则系统会把所有的创建信息删除,若有一个不正确则销户服务完成不了。8*构造查询函数,主要运用for循环语句和ifelse判断语句及return语句等,只要正确输入信息就可以从页面上看到用户的账户号、姓名、余额等,若输入不正确则会提示账户不存在或密码错误。9*主函数部分,运用switch语句分7种情况进行函数调运,在主页中选择不同的服务,则进行调用上述的函数。程序流程图为:开始首页界面中选择要服务的类型Bank::shouye()Bank::shouye()Bank::shouye()开户(Bank::kaihu(Bankbank[]))同时可以开许多账户转账(Bank::zhuanzhang(Bankbank[]))存款(Bank::cunkuan(Bankbank[]))取款Bank::qukuan(Bankbank[])查询Bank::chaxun(Bankbank[])销户Bank::xiaohu(Bankbank[])退出系统结束4三程序代码#includeiostream.h#includestring.h#includestdio.h#includefstream.h#includestdlib.hclassBank{public:staticintnum;intshouye();//首页voidkaihu(Bankbank[]);//开户voidcunkuan(Bankbank[]);//存款voidqukuan(Bankbank[]);//取款voidzhuanzhang(Bankbank[]);//转帐voidxiaohu(Bankbank[]);//销户voidchaxun(Bankbank[]);//查询private:charname[20];//姓名charID[20];//身份证longcount;//账号intnumber;//电话号码charmima[20];//密码intmoney;//余额};//构造首页函数显示选择界面intBank::num=0;intBank::shouye(){chari;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\5\t\t$0.退出$endl\\t\t$*@*@*@*@*@*@*@*@*@*@*@*@*@*@*@*@*@*@*@*@*@*@*@*@$endlendl\\t\t\t请选择要服务的内容(0~6):;cini;}while(i-'0'0||i-'0'6);returni-'0';}//构造开户函数voidBank::kaihu(Bankbank[]){intj;charmima1[20];ofstreamos(账户.txt,ios::app);bank[num].money=0;cout请输入创建姓名endl;cinbank[num].name;cout请输入身份证号endl;cinbank[num].ID;cout请输入创建账号endl;cinbank[num].count;cout请输入电话号码endl;cinbank[num].number;cout请输入密码endl;cinbank[num].mima;cout请再次输入密码endl;cinmima1;if(strcmp(mima1,bank[num].mima)!=0){cout密码前后输入不一致,请重新输入endl;return;}for(j=0;jnum;j++)if(bank[num].count==bank[j].count){cout账号已存在,请从新输入账号endl;this-kaihu(bank);}cout账户创建成功,请牢记你的密码和账号!endl;os姓名账号余额endl;osbank[num].namebank[num].countbank[num].moneyendl;os.close();6num++;}//构造存款函数voidBank::cunkuan(Bankbank[]){longcount;intmoney=0;cout请输入银行账号endl;cincount;for(inti=0;inum;i++)if(count==bank[i].count){cout请输入所存金额endl;cinmoney;bank[i].money+=money;cout存款成功!endl;ofstreamos(账户.txt);for(intj=0;jnum;j++)osbank[i].namebank[i].countbank[i].mimaendl;return;}cout此账户不存在,请先进行开户endl;}//构造取款函数voidBank::qukuan(Bankbank[]){longcount;intmoney=0;charmima[20];cout请输入银行账号endl;cincount;cout请输入密码endl;cinmima;for(inti=0;inum;i++)if((strcmp(mima,bank[i].mima)!=0)&&(count==bank[i].count)){cout密码错误,请重新输入endl;cinmima;if((strcmp(mima,bank[i].mima)==0)&&(count==bank[i].count)){cout请输入取款金额endl;7cinmoney;bank[i].money-=money;cout取款成功!endl;ofstreamos(账户.txt);for(intj=0;jnum;j++)osbank[i].namebank[i].countbank[i].mimaendl;return;}}elseif((strcmp(mima,bank[i].mima)==0)&&(count==bank[i].count)){cout请输入取款金额endl;cinmoney;bank[i].money-=money;cout取款成功!endl;ofstreamos(账户.txt);for(intj=0;jnum;j++)osbank[i].namebank[i].countbank[i].mimaendl;return;}cout此账户不存在,请先进行开户endl;}//构造转账函数voidBank::zhuanzhang(Bankbank[]){longcount1,count2;intmoney;cout请输入您的账号:;cincount1;cout请输入密码endl;cinmima;for(inti=0;inum;i++)if((strcmp(mima,bank[i].mima)==0)&&(count==bank[i].count)){cout请输入转账的用户账号endl;cincount2;for(intj=0;jnum;j++)if(count2==bank[j].count){cout请输入转账的金额;cinmoney;8if(bank[i].money-money0){cout对不起,您的账户上余额不足endl;return;}bank[i].money-=money;bank[j].money+=money;cout转账成功!endl;ofstreamos(账户.txt);for(intk=0;knum;k++)osbank[i].namebank[i].countbank[i].mimaendl;return;}cout该用户不存在endl;return;}cout您输入的账户不存在或密码错误endl;}//构造销户函数voidBank::xiaohu(Bankbank[]){inti,j;longcount;charmima[20];cout请输入银行账号endl;cincount;cout请输入密码endl;cinmima;for(i=0;inum;i++)if((s