银行ATM自动取款机系统课程设计报告书

  • 格式:doc
  • 大小:135.00 KB
  • 文档页数:13

《面向对象程序设计》课程设计报告题目:银行ATM自动取款机系统专业:计算机科学与技术班级:1103学号:1030070115:黄永泉指导教师:甘秋云完成日期:2012 年 6月13 日《面向对象程序设计》课程设计一、系统中所使用的数据对象及说明1、自动取款机bank类属性属性名称类型描述idcard string 银行卡号name string 储户mmi string 密码money int 金额num int 序号C[5] Consumer (组合)储户类方法方法名称功能set 设置银行储户信息menu 自动取款机界面菜单2、储户类consumer属性属性名称类型描述chuhu string 储户ic string 卡号mima string 密码jine int 金额yue int 余额方法方法名称功能Set2 设置储户信息xiugai 修改密码chaxun 查询余额qukuan 取款zhuanzhang 转账getch 取储户名getmm 取密码3、各个类之间的关系二、系统功能结构及相关算法描述1、系统功能结构2、相关算法流程图(1)设子储户信息流程(2)修改密码流程(3)查询余额流程(4)取款流程(5)转账流程#include<iostream>#include<cstring>#include<iomanip>#include<string>using namespace std;class consumer{public:void set2(string c,string ch,string mm,int y){ic=c;chuhu=ch;mima=mm;yue=y;}int xiugai();//修改密码void chaxun();//查询余额int qukuan();//取款int zhuanzhang();//转账string getch();//取用户string getmm();//取密码private:string chuhu;//储户string ic;//卡号string mima;//密码int jine;//金额int yue;//账户余额};class bank{public:consumer c[5];void set(int i,string id,string n,string ma,int m){num=i;idcard=id;name=n;mmi=ma;money=m;c[i].set2(id,n,ma,m);};void menu();private:string idcard,name,mmi;int money,num;};void bank::menu()//菜单界面{cout<<"````````````````````````````````````"<<endl<<endl;cout<<"^(oo)^ ^(oo)^ ^(oo)^"<<endl<<endl;cout<<"***^.^欢迎进入国脉15自动取款机^.^***"<<endl<<endl;cout<<"^(oo)^ ^(oo)^ ^(oo)^"<<endl<<endl;cout<<"`````````````````````````````````````"<<endl<<endl;cout<<"-*-*-*-*-*-*请输入登陆账号-*-*-*-*-*-*"<<endl;string ch;cin>>ch;int i=0;while((ch!=c[i].getch())&&(i<5))//判断该储户是否存在i++;if(i>=5){cout<<endl<<endl;cout<<"!.! o>.<O !.!"<<endl;cout<<"~~~该账户不存在~~~"<<endl;cout<<"-_-# ?_? -_-#"<<endl;exit(0);//结束程序}cout<<endl<<"请输入登陆密码:";string mi;cin>>mi;cout<<endl<<endl;if(mi!=c[i].getmm()){cout<<endl<<endl;cout<<"#############################"<<endl;cout<<"你输入的密码有误,禁止继续使用"<<endl;cout<<"#############################"<<endl;exit(0);//结束程序}do{cout<<endl;cout<<"请选择操作功能:"<<endl;cout<<"1.修改密码功能;2.余额查询功能;3.取款功能;4.转账功能"<<endl<<endl;int f;cin>>f;switch(f){case 1:c[i].xiugai( );break;case 2:c[i].chaxun( );break;case 3:c[i].qukuan( );break;case 4:c[i].zhuanzhang( );break;}cout<<endl<<endl<<"*******************"<<endl;cout<<"是否继续使用~~^_^~~ "<<endl<<"1.继续;0.结束"<<endl;cout<<"*******************"<<endl<<endl;cout<<"请选择"<<endl;int i;cin>>i;}while(1);cout<<"*******^^^^^^^使用********"<<endl;cout<<"***^.^请取卡,欢迎下次使用^.^***"<<endl;}string consumer::getch(){return chuhu;}string consumer::getmm(){return mima;}int consumer::xiugai(){cout<<"**你当前进入的是修改密码功能**"<<endl;cout<<endl<<endl;cout<<"**请输入原口令:";string mi;//密码cin>>mi;if(mi!=getmm()){cout<<endl<<endl<<"!!!!!!!!!!!!!!!!!!!!!"<<endl;cout<<"**你输入的密码有误**"<<endl;cout<<"**欢迎下次使用**"<<endl;cout<<"!!!!!!!!!!!!!!!!!!!!!"<<endl<<endl;exit(0);//退出程序}cout<<"^(oo)^ ^(oo)^ ^(oo)^"<<endl<<endl;cout<<"**请输入修改后密码:";cin>>mima;cout<<"**修改密码成功**"<<endl;cout<<"**你先口令是:"<<mima<<endl;cout<<"^(oo)^ ^(oo)^ ^(oo)^"<<endl<<endl;return 1;}void consumer::chaxun(){cout<<endl<<endl<<"*************************"<<endl<<endl;cout<<"**你当前进入的是查询余额功能**"<<endl;cout<<"**你的余额为:"<<yue<<endl<<endl;}int consumer::qukuan(){cout<<endl<<endl<<"***************************"<<endl<<endl;cout<<"**你当前进入的是取款功能**"<<endl<<endl;cout<<"**请输入取款金额:";cin>>jine;if(jine<yue){cout<<endl<<"取款成功"<<endl;yue=yue-jine;return 1;}else{cout<<endl<<endl<<"!.! !>.<! !.!"<<endl<<endl;cout<<"**余额不足,请重新输入**"<<endl<<endl;cout<<"!.! !>.<! !.!"<<endl<<endl;return 0;}}int consumer::zhuanzhang(){cout<<endl<<endl<<"^(oo)^ ^(oo)^ ^(oo)^"<<endl<<endl;cout<<"**你当前进入的是转账功能界面**"<<endl<<endl;cout<<"请输入要转账到的储户:";string ch;cin>>ch;//转账到的储户int i=0;consumer c[5];while((ch!=c[i].getch())&&(i<5))//判断该储户是否存在i++;if(i<5){cout<<endl<<"请输入转账金额:";cin>>jine;c[i].yue=c[i].yue+jine;cout<<"^(oo)^ ^(oo)^ ^(oo)^"<<endl<<endl;cout<<"转账成功"<<endl<<endl;cout<<"^(oo)^ ^(oo)^ ^(oo)^"<<endl<<endl;return 1;}else{cout<<endl<<endl<<"!.! !>.<! !.!"<<endl<<endl;cout<<"该储户不存在"<<endl<<endl;cout<<"!.! !>.<! !.!"<<endl<<endl;cout<<"1:进行重新输入;2:进行退出该界面"<<endl;int s;cin>>s;if(s==1){cout<<"^(oo)^ ^(oo)^ ^(oo)^"<<endl<<endl;zhuanzhang();cout<<"^(oo)^ ^(oo)^ ^(oo)^"<<endl<<endl;}elseif(s==2)return 1;//退出}}int main(){bank bk;bk.set(0,"1000","fhp","123456",100000);bk.set(1,"1001","lzh","111111",200000);bk.set(2,"1002","ljj","222222",300000);bk.set(3,"1003","zhu","333333",40000);bk.set(4,"1004","hih","444444",50000);bk.menu();return 0;}四、系统运行结果(截图)1、主菜单界面2、登陆操作3、修改密码4、余额查询功能5、取款6.转账五、课程设计总结。