手机版
您的当前位置: 诚达文秘网 > 范文大全 > 公文范文 > 模拟ATM机存取款管理系统面对对象课程设计

模拟ATM机存取款管理系统面对对象课程设计

来源:公文范文 时间:2023-04-23 08:10:06

面向对象程序设计课程设计 题 目 模拟ATM机存取款管理系统 院 系 计算机系 专 业 计算机科学与技术 学生姓名 学 号 指导教师 二O一六年X月X日 目 录 1.前言 1.1选题目的及意义 2.系统分析 2.1需求分析 2.2功能要求 2.3软硬件环境 3.系统概要设计 3.1系统总体架构设计 4.系统详细设计 4.1管理模块 4.2类的定义 5.系统实现 5.1类的实现 5.2主要程序实现 6.系统测试 7.收获及体会 8.参考文献 9.附录 1.前言 1.1选题目的及意义 总结及运用一学期来所学的知识,训练我们灵活应用所学C++知识,应用到继承、抽象类、虚函数、虚基类、多态和文件的输入/输出。能够巩固、深化理论知识,提高编程水平、分析问题、解决问题的能力。

1.2研究内容 模拟银行的自动取款机使用过程中的界面和用户交互过程。实现查询银行卡余额、取款、修改密码、退出系统等功能 2.系统分析 2.1需求分析 人们的金融意识、科技意识己经有了很大的提高,在紧张忙碌的生活中,己越来越来不习惯每月奔忙于各银行营业柜台之问去排队缴各种各样的费用了;
同时,各种经营单位如电信、移动、供电、煤气、自来水、证券等等一是为了提高服务质量、方便客户,二是为了减轻自己日趋繁重的工作量,纷纷委托银行为其开展代收代付业务。

银行每天要处理大量的存取款事件,做好存取款是银行工作重要的环节,然而要有效处理必须要有良好的程序和数据管理系统来建立一个良好的软件系统来实现快速、有效、准确、安全的处理银行事物。

2.2功能要求 (1)卡号、密码输入最多三次,否则直接退出系统。

(2)取款功能:取款金额受卡余额、机单笔最大取款金额及机当前剩余金额的限制。

(3)查询功能:实现查询余额功能。

(4)更改密码:实现密码更改功能,对于密码要有2次验证。

(5)锁卡功能:实现卡被锁的功能。

(6)退卡功能:实现退出系统功能。

2.3软硬件环境 环境:Visual c++ 6.0 硬件:lenovo idea-pad 3系统概要设计 3.1系统整体架构设计 系统总体框架 银行管理系统 存钱页面 取款页面 余额页面 修改密码 注销页面 登录界面 注册开户 主界页面 注销退出 4.系统详细设计 4.1管理模块 (1)登录页面 输入卡号和密码,根据用户输入的卡号和密码,到后台文件查询,若正确则登录成功,并保存卡好信息已备后用。

若卡号存在和密码不匹配或无该卡号已经注销,提示该卡号已存在或已注销,保持界面三次不变等待用户的重新输入。

(2)主界面页面 主要导航栏有:欢迎使用储蓄卡管理(存款、取款、修改密码、转账功能、注销退出)
(3)储蓄卡开户页面 提供开户界面,由用户输入新储蓄卡的所有信息,将该信息保存到文件中,并将开户金额作为该卡的第一次存款记录存人文件。

(4)存钱页面 从登录界面得到卡号,并提供数据输入界面,等待用户的输入存款金额。从后台数据库中找到该用户余额记录,修改余额,并将该存款事件的相应信息写人数据库,同时将存钱的金额显示在页面上。

(5)取款页面 从登录界面得到卡号,并提供数据输入界面,等待用户输入取款金额,如果取款金额大于该用户卡上的余额则不能取款,或者将新的余额写人文件,并将本次取款事件写入文件同时将取钱的金额显示在页面上,。

(6)注销页面 从关闭文件,状态为注销,最后关闭整个系统。

4.2类的定义 (1)comsumer 类 class comsumer 主要制定用户的成员数据,并进行登录与保存功能:
comsumer 类说明表 名称 属性 说明 ID 数据成员 用户账户数据 name 数据成员 用户姓名 money 数据成员 用户首次金额 in 数据成员 用户身份证号 address 数据成员 用户地址 number 数据成员 用户电话 Passwd 数据成员 用户密码 savemoney() 成员方法 存钱 fetchmoney () 成员方法 取钱 change_passwd() 成员方法 修改密码 get_money() 成员方法 卡卡转账 (2)YH 类 YH 类 主要实现用户的各种功能:
YH 类说明表 名称 属性 说明 acnum 数据成员 账户数 set_account () 成员方法 开户功能 del_account () 成员方法 注销账户功能 transfer () 成员方法 转账功能 functionshow() 成员方法 主界面显示功能 addmoney() 成员方法 存钱功能 exitYH() 成员方法 退出系统功能 5.系统实现 5.1类的实现 (1)consumer类 class consumer:public YH//用户类,继承银行类的属性 { public: friend class YH; consumer(int id,string Name,int Number,double IN,string Company,string Address,string PassWord,float m) { ID=id;name=Name;number=Number;in=IN;company=Company;address=Address;money=m;passwd=PassWord; } consumer(){ID=0;name='0';number=0;in=0;company='0';address='0';money=0;passwd='0';} int get_id(){return ID;} void savemoney();// 取钱 string get_passwd(){return passwd;}// 取得密码 void display(); void fetchmoney(); //取钱 void change_passwd(); void add_money(float);//计算余额 void dec_money(float);//计算余额 float get_money();//卡卡转帐 private: int ID; //开户帐号 string passwd; // 用户密码 string name; // 用户姓名 float money; //开户金额 int number;string company;string address;double in; }; (2)银行类:
class YH //银行类 { public: void set_account();//银行开户功能 void del_account(); //注销账户功能 void transfer(int); //转账功能 void enter_account(); //进入用户个人信息功能 void addmoney(int,float);//存款功能 void exitYH();// 退出系统 void functionshow(); void save(); void load();// 功能界面 protected: consumer *account[20]; static int acnum;//账户数 5.2主要程序实现 (1)读入用户信息功能实现:
void YH::load() {ifstream infile(“bankdat.dat“,ios::in);//以输入方式打开文件 if(!infile) {cerr<<“读取错误,无资料中!“<<endl; return; } int n=0; int id,m; string nam,passw;int number;string company;string address;double in; infile>>acnum; for(n=0;n<acnum;n++)//全部读入 {infile>>id;//从磁盘文件bankdat.dat读入信息 infile>>m; infile>>nam; infile>>passw; infile>>company; infile>>number; infile>>address; infile>>in; account[n]->passwd; consumer * acc = new consumer(id,nam,number,in,company,address,passw,m); //每读入一个n开辟一段内存 account[n] = acc; //赋值首地址 } infile.close(); cout<<“读取资料正常!“<<endl; } (2)转账功能实现:
void YH::transfer(int x) {int id; cout<<“请输入帐号:“; cin>>id; int flag = 1; int i = 0; while((i<acnum)&&(flag)) //查找要转入的账号 { if(id==account[i]->get_id()) flag = 0; else i++; } if(flag) { cout<<“帐号不存在!“<<endl<<endl; return ; } float b; cout<<endl<<“请输入你要转帐的金额:“; cin>>b; while(b<=0) { cout<<“请输入正确的数字!“<<endl; cout<<“→“; cin>>b; } if(account[x]->get_money()<b) //调用友元类consumer的公有成员函数 cout<<“对不起,金额不够!!“<<endl; else {account[x]->dec_money(b);account[i]->add_money(b);} cout<<“转账成功!!“<<endl; return; } (3)账户金额计算实现:
void consumer::add_money(float x) {money=x+money;} void consumer::dec_money(float x) {money=money-x;} void YH::addmoney(int x,float y) {account[x]->money=account[x]->money-y; } float consumer::get_money() {return money;} void main() {YH yh; yh.functionshow(); } (4)主界面显示 void YH::functionshow() { int n; do {system(“cls“); load(); cout<<endl<<“请输入相应的操作序号进行操作:“<<endl; cout<<“㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣“<<endl; cout<<“㊣ ㊣“<<endl; cout<<“㊣ 1. 开户 ㊣“<<endl; cout<<“㊣ ㊣“<<endl; cout<<“㊣ 2.账户登录 ㊣“<<endl; cout<<“㊣ ㊣“<<endl; cout<<“㊣ 3.账户注销 ㊣“<<endl; cout<<“㊣ ㊣“<<endl; cout<<“㊣ 4.退出系统 ㊣“<<endl; cout<<“㊣ ㊣“<<endl; cout<<“㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣“<<endl; cout<<“→“; cin>>n; while(n<1||n>4) { cout<<“操作错误,请输入正确的操作序号!“<<endl; cout<<“→“; cin>>n; } switch(n) { case 1: set_account();//开户 break; case 2:enter_account();//登录 break; case 3: del_account();//注销 break; case 4: exitYH();//退出 break; } cin.get();//输入流类istream的成员函数 } while(true); } void YH::enter_account() {int id; cout<<“请输入帐号:“; cin>>id; int flag = 1; int i = 0; //__page_break__ while((i<acnum)&&(flag)) //循环查找 { if(id==account[i]->get_id()) flag = 0; else i++; } if(flag) { cout<<“帐号不存在!“<<endl; return; } cout<<“请输入密码:“; string passw; cin>>passw; if(passw!=account[i]->get_passwd()) return;//返回到登录界面 account[i]->display();cin.get();cin.get(); int n; do{system(“cls“); cout<<“请选择下列操作:“<<endl; cout<<“◎☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆◎“<<endl; cout<<“◎ ◎“<<endl; cout<<“◎ 1.查看账户信息 ◎“<<endl; cout<<“◎ ◎“<<endl; cout<<“◎ 2.取款 ◎“<<endl; cout<<“◎ ◎“<<endl; cout<<“◎ 3.存款 ◎“<<endl; cout<<“◎ ◎“<<endl; cout<<“◎ 4.修改密码 ◎“<<endl; cout<<“◎ ◎“<<endl; cout<<“◎ 5.转账 ◎“<<endl; cout<<“◎ ◎“<<endl; cout<<“◎ 6.返回上一菜单 ◎“<<endl; cout<<“◎ ◎“<<endl; cout<<“◎☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆◎“<<endl; cout<<“→“; cin>>n; (5)添加/删除账户功能实现:
switch(n) {case 1: account[i]->display();break; case 2: account[i]->fetchmoney();save();break;//从2-5功能,每执行一次调用一次save函数,重新写入数据 case 3:account[i]->savemoney();save();break; case 4:account[i]->change_passwd();save();break; case 5:transfer(i);save();break; case 6:return; }cin.get();cin.get(); } while(1); } void YH::set_account() { int id; string nam; string passw; float m; string company;string address;int number;double in; cout<<“请输入开户号:“<<endl; cin>>id; cout<<“请输入开户人姓名:“<<endl; cin>>nam; cout<<“请输入开户密码:“<<endl; cin>>passw; cout<<“请输入存入金额:“<<endl; cin>>m; cout<<“请输入开户人电话:“<<endl; cin>>number; cout<<“请输入开户人公司:“<<endl; cin>>company; cout<<“请输入开户人地址:“<<endl; cin>>address; cout<<“请输入开户人身份证号码:“<<endl; cin>>in; while(m<=0) { cout<<“请输入正确的数字!“<<endl; cin>>m; } consumer * acc = new consumer(id,nam,number,in,company,address,passw,m); account[acnum] = acc; cout<<“开户成功!!“<<endl<<endl; acnum++; save(); cin.get(); return; } void YH::del_account() { int id; cout<<endl<<“请输入你要注销的帐户号:“; cin>>id; int flag = 1; int i = 0; while((i<acnum)&&(flag)) //循环查找 { if(id == account[i]->get_id()) { flag = 0; } else { i++; } } if(flag) { cout<<“该帐号不存在,请重新输入!“<<endl; return; //返回到登陆界面 } for(int j=i;j<acnum;j++) //所有被删号后的数据重新存储 { account[j] = account[j+1]; } account[acnum-1]=NULL; acnum--; //账号总数自减一次 cout<<“你的账号已注销!!“<<endl<<endl; save(); cin.get(); return; } (6)修改密码实现:
void consumer::change_passwd() { string pwd,repwd; cout<<“请输入新密码:“; cin>>pwd; cout<<“请再输入一次新密码:“; cin>>repwd; if(pwd!=repwd) cout<<“你输入的两次密码不一样,按输入键返回上一层菜单!“<<endl; else cout<<“密码修改成功,请牢记!“<<endl;cin.get(); } (7)取/存款实现:
void consumer::fetchmoney() { float m; char ch; do { cout<<endl<<“输入取款金额:“<<“¥>“<<endl ; cin>>m; while(m<=0) { cout<<“请输入正确的数字!“<<endl; cout<<“→“; cin>>m; } if(money<m) { cout<<“对不起,你的余额不足!“<<endl; } else {money=money-m; cout<<endl<<“操作成功,请收好钱!“ <<endl; } cout<<“是否要继续该项操作:(Y/N) “ <<endl; cout<<“→“; cin>>ch; while(ch!='n'&&ch!='N'&&ch!='Y'&&ch!='y')//选择错误时判定 { cout<<“→“; cin>>ch; } }while(ch=='y'||ch=='Y'); } void consumer::savemoney()//存钱函数功能实现 { float c; char ch; do { cout<<endl<<“请输入要存入的金额:“<<“¥>“<<endl ; cin>>c; while(c<=0) { cout<<“输入错误,请重新输入!“<<endl; cout<<“→“; cin>>c; } money=money+c; cout<<“操作已成功!“<<endl; cout<<“是否要继续该项操作:(Y/N) “<<endl; cout<<“→“; cin>>ch; while(ch!='n'&&ch!='N'&&ch!='Y'&&ch!='y') { cout<<“→“; cin>>ch; } }while(ch=='y'||ch=='Y'); } int YH::acnum=0; (8)用户信息显示:
void consumer::display()//用户信息界面 {system(“cls“); cout<<“#####################################“<<endl; cout<<“#“<<endl; cout<<“#   用户姓名:“<<name<<endl; cout<<“#“<<endl; cout<<“#   帐号:  “<<ID<<endl; cout<<“#“<<endl; cout<<“#   余额:   “<<money<<endl; cout<<“#“<<endl; cout<<“# 按输入键回到上一菜单“<<endl; cout<<“#“<<endl; cout<<“#####################################“<<endl; cout<<“→“; } 6.系统测试 6.1首页 6.2开户页面 6.3储蓄卡管理页面 6.4存/取款页面 6.5密码修改页面 6.6转账页面 6.7查询用户信息页面 6.8销户页面 7.收获及体会 这次课程设计收获了好多,通过这次课设,又进一步巩固了课本上的知识,更加熟练的使用到继承、抽象类、虚函数、虚基类、多态和文件的输入/输出这些功能,提高了自己编程水平、分析问题、解决问题的能力。

8.参考文献 [1]高俊文。c/c++程序设计 。北京:人民邮电出版社,2005  [2]谭浩强。C++程序设计。北京:清华大学出版社,2004  9.附录 源程序:
#include<iostream> #include <string> #include<fstream> using namespace std; class consumer; class YH //银行类 { public: void set_account();//银行开户功能 void del_account(); //注销账户功能 void transfer(int); //转账功能 void enter_account(); //进入用户个人信息功能 void addmoney(int,float);//存款功能 void exitYH();// 退出系统 void functionshow(); void save(); void load();// 功能界面 protected: consumer *account[20]; static int acnum;//账户数 }; class consumer:public YH//用户类,继承银行类的属性 { public: friend class YH; consumer(int id,string Name,int Number,double IN,string Company,string Address,string PassWord,float m) { ID=id;name=Name;number=Number;in=IN;company=Company;address=Address;money=m;passwd=PassWord; } consumer(){ID=0;name='0';number=0;in=0;company='0';address='0';money=0;passwd='0';} int get_id(){return ID;} void savemoney();// 取钱 string get_passwd(){return passwd;}// 取得密码 void display(); void fetchmoney(); //取钱 void change_passwd(); void add_money(float);//计算余额 void dec_money(float);//计算余额 float get_money();//卡卡转帐 private: int ID; //开户帐号 string passwd; // 用户密码 string name; // 用户姓名 float money; //开户金额 int number;string company;string address;double in; }; void YH::save() {ofstream ofile(“bankdat.dat“,ios::out);//以输出方式打开文件 ofstream outfile(“bankdat.dat“,ios::out);//以输出方式打开文件 bankdat.dat接收从内存输出的数据 int n=0; outfile<<acnum<<“ “; for(n=0;n<acnum;n++) {outfile<<account[n]->ID<<“ “;//把信息写入磁盘文件bankdat.dat outfile<<account[n]->money<<“ “; outfile<<account[n]->name<<“ “; outfile<<account[n]->passwd<<“ “; outfile<<account[n]->number<<“ “; outfile<<account[n]->company<<“ “; outfile<<account[n]->address<<“ “; outfile<<account[n]->in<<“ “; } outfile.close(); } /*读入用户信息功能实现*/ void YH::load() {ifstream infile(“bankdat.dat“,ios::in);//以输入方式打开文件 if(!infile) {cerr<<“读取错误,无资料中!“<<endl; return; } int n=0; int id,m; string nam,passw;int number;string company;string address;double in; infile>>acnum; for(n=0;n<acnum;n++)//全部读入 {infile>>id;//从磁盘文件bankdat.dat读入信息 infile>>m; infile>>nam; infile>>passw; infile>>company; infile>>number; infile>>address; infile>>in; account[n]->passwd; consumer * acc = new consumer(id,nam,number,in,company,address,passw,m); //每读入一个n开辟一段内存 account[n] = acc; //赋值首地址 } infile.close(); cout<<“读取资料正常!“<<endl; } /*转账功能实现*/ void YH::transfer(int x) {int id; cout<<“请输入帐号:“; cin>>id; int flag = 1; int i = 0; while((i<acnum)&&(flag)) //查找要转入的账号 { if(id==account[i]->get_id()) flag = 0; else i++; } if(flag) { cout<<“帐号不存在!“<<endl<<endl; return ; } float b; cout<<endl<<“请输入你要转帐的金额:“; cin>>b; while(b<=0) { cout<<“请输入正确的数字!“<<endl; cout<<“→“; cin>>b; } if(account[x]->get_money()<b) //调用友元类consumer的公有成员函数 cout<<“对不起,金额不够!!“<<endl; else {account[x]->dec_money(b);account[i]->add_money(b);} cout<<“转账成功!!“<<endl; return; } /*账户金额计算*/ void consumer::add_money(float x) {money=x+money;} void consumer::dec_money(float x) {money=money-x;} void YH::addmoney(int x,float y) {account[x]->money=account[x]->money-y; } float consumer::get_money() {return money;} void main() {YH yh; yh.functionshow(); } /*主界面显示*/ void YH::functionshow() { int n; do {system(“cls“); load(); cout<<endl<<“请输入相应的操作序号进行操作:“<<endl; cout<<“㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣“<<endl; cout<<“㊣ ㊣“<<endl; cout<<“㊣ 1. 开户 ㊣“<<endl; cout<<“㊣ ㊣“<<endl; cout<<“㊣ 2.账户登录 ㊣“<<endl; cout<<“㊣ ㊣“<<endl; cout<<“㊣ 3.账户注销 ㊣“<<endl; cout<<“㊣ ㊣“<<endl; cout<<“㊣ 4.退出系统 ㊣“<<endl; cout<<“㊣ ㊣“<<endl; cout<<“㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣“<<endl; cout<<“→“; cin>>n; while(n<1||n>4) { cout<<“操作错误,请输入正确的操作序号!“<<endl; cout<<“→“; cin>>n; } switch(n) { case 1: set_account();//开户 break; case 2:enter_account();//登录 break; case 3: del_account();//注销 break; case 4: exitYH();//退出 break; } cin.get();//输入流类istream的成员函数 } while(true); } void YH::enter_account() {int id; cout<<“请输入帐号:“; cin>>id; int flag = 1; int i = 0; //__page_break__ while((i<acnum)&&(flag)) //循环查找 { if(id==account[i]->get_id()) flag = 0; else i++; } if(flag) { cout<<“帐号不存在!“<<endl; return; } cout<<“请输入密码:“; string passw; cin>>passw; if(passw!=account[i]->get_passwd()) return;//返回到登录界面 account[i]->display();cin.get();cin.get(); int n; do{system(“cls“); cout<<“请选择下列操作:“<<endl; cout<<“◎☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆◎“<<endl; cout<<“◎ ◎“<<endl; cout<<“◎ 1.查看账户信息 ◎“<<endl; cout<<“◎ ◎“<<endl; cout<<“◎ 2.取款 ◎“<<endl; cout<<“◎ ◎“<<endl; cout<<“◎ 3.存款 ◎“<<endl; cout<<“◎ ◎“<<endl; cout<<“◎ 4.修改密码 ◎“<<endl; cout<<“◎ ◎“<<endl; cout<<“◎ 5.转账 ◎“<<endl; cout<<“◎ ◎“<<endl; cout<<“◎ 6.返回上一菜单 ◎“<<endl; cout<<“◎ ◎“<<endl; cout<<“◎☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆◎“<<endl; cout<<“→“; cin>>n; switch(n) {case 1: account[i]->display();break; case 2: account[i]->fetchmoney();save();break;//从2-5功能,每执行一次调用一次save函数,重新写入数据 case 3:account[i]->savemoney();save();break; case 4:account[i]->change_passwd();save();break; case 5:transfer(i);save();break; case 6:return; }cin.get();cin.get(); } while(1); } void YH::set_account() { int id; string nam; string passw; float m; string company;string address;int number;double in; cout<<“请输入开户号:“<<endl; cin>>id; cout<<“请输入开户人姓名:“<<endl; cin>>nam; cout<<“请输入开户密码:“<<endl; cin>>passw; cout<<“请输入存入金额:“<<endl; cin>>m; cout<<“请输入开户人电话:“<<endl; cin>>number; cout<<“请输入开户人公司:“<<endl; cin>>company; cout<<“请输入开户人地址:“<<endl; cin>>address; cout<<“请输入开户人身份证号码:“<<endl; cin>>in; while(m<=0) { cout<<“请输入正确的数字!“<<endl; cin>>m; } consumer * acc = new consumer(id,nam,number,in,company,address,passw,m); account[acnum] = acc; cout<<“开户成功!!“<<endl<<endl; acnum++; save(); cin.get(); return; } void YH::del_account() { int id; cout<<endl<<“请输入你要注销的帐户号:“; cin>>id; int flag = 1; int i = 0; while((i<acnum)&&(flag)) //循环查找 { if(id == account[i]->get_id()) { flag = 0; } else { i++; } } if(flag) { cout<<“该帐号不存在,请重新输入!“<<endl; return; //返回到登陆界面 } for(int j=i;j<acnum;j++) //所有被删号后的数据重新存储 { account[j] = account[j+1]; } account[acnum-1]=NULL; acnum--; //账号总数自减一次 cout<<“你的账号已注销!!“<<endl<<endl; save(); cin.get(); return; } void consumer::change_passwd() { string pwd,repwd; cout<<“请输入新密码:“; cin>>pwd; cout<<“请再输入一次新密码:“; cin>>repwd; if(pwd!=repwd) cout<<“你输入的两次密码不一样,按输入键返回上一层菜单!“<<endl; else cout<<“密码修改成功,请牢记!“<<endl;cin.get(); } void consumer::fetchmoney() { float m; char ch; do { cout<<endl<<“输入取款金额:“<<“¥>“<<endl ; cin>>m; while(m<=0) { cout<<“请输入正确的数字!“<<endl; cout<<“→“; cin>>m; } if(money<m) { cout<<“对不起,你的余额不足!“<<endl; } else {money=money-m; cout<<endl<<“操作成功,请收好钱!“ <<endl; } cout<<“是否要继续该项操作:(Y/N) “ <<endl; cout<<“→“; cin>>ch; while(ch!='n'&&ch!='N'&&ch!='Y'&&ch!='y')//选择错误时判定 { cout<<“→“; cin>>ch; } }while(ch=='y'||ch=='Y'); } void consumer::savemoney()//存钱函数功能实现 { float c; char ch; do { cout<<endl<<“请输入要存入的金额:“<<“¥>“<<endl ; cin>>c; while(c<=0) { cout<<“输入错误,请重新输入!“<<endl; cout<<“→“; cin>>c; } money=money+c; cout<<“操作已成功!“<<endl; cout<<“是否要继续该项操作:(Y/N) “<<endl; cout<<“→“; cin>>ch; while(ch!='n'&&ch!='N'&&ch!='Y'&&ch!='y') { cout<<“→“; cin>>ch; } }while(ch=='y'||ch=='Y'); } int YH::acnum=0; void consumer::display()//用户信息界面 {system(“cls“); cout<<“#####################################“<<endl; cout<<“#“<<endl; cout<<“#   用户姓名:“<<name<<endl; cout<<“#“<<endl; cout<<“#   帐号:  “<<ID<<endl; cout<<“#“<<endl; cout<<“#   余额:   “<<money<<endl; cout<<“#“<<endl; cout<<“# 按输入键回到上一菜单“<<endl; cout<<“#“<<endl; cout<<“#####################################“<<endl; cout<<“→“; } void YH::exitYH()//退出系统 { cout<<endl<<“感谢您对本银行的支持,欢迎下次光临!“<<endl; exit(0); } 南京信息工程大学滨江学院

诚达文秘网 https://www.rk1k.cn Copyright © 2019-2024 . 诚达文秘网 版权所有

Powered by 诚达文秘网 © All Rights Reserved. 备案号:浙ICP备19042126号-1

Top