面向对象 课程设计报告
活期储蓄帐目管理系统
学生姓名 : 周 林 专 业 : 信息工程 班 级 : 1132102 学 号 : [1**********]4 指导教师 : 阳红星
2013年06月21日
一.设计要求:
活期储蓄处理中,储户开户、销户、存入、支出聚会频繁,系统设计条件: 1)能较量迅速地找到储户的帐户,以呈现存款、取款记账;
2)能较量简单,迅速地呈现插入和删除,以呈现开户和销户的需求。
二、需求与功能分析
随着社会经济的发展,信息化程度的不断深入,银行的传统业务己愈来愈不能满足银行客户的需要。
现今,人们的金融意识、科技意识己经有了很大的提高,在紧张忙碌的生活中,己越来越来不习惯每月奔忙于各银行营业柜台之问去排队缴各种各样的费用了;同时,各种经营单位如电信、移动、供电、煤气、自来水、证券等等一是为了提高服务质量、方便客户,二是为了减轻自己日趋繁重的工作量,纷纷委托银行为其开展代收代付业务:同时,随着我国加入世贸组织的日益临近,我国的银行业将面临更加激烈的同业竞争,如何提供更多的金融产品和更优质的服务,如何吸引更多的客户,如何利用计算机技术加强银行帐户信息管理、进行银行业务再造,提高银行的工作效率和业务竟争能力是摆在各家银行面前的一个迫切需要解诀的问题。
近几年来,各商业银行加快了与社会各业的合作,利用自身的网点优势和业务特点,为其提供各种高效、快捷的代收代付业务,也就是中间代理业务,目前以与广大人民群众生活密切相关的各项缴费业务如水电费、电话费、手机费等代收业务为主,这些业务开展方式多种多样,但一般都离不开计算机的高效管理支持。
随着代理业务不断发展,业务品种越来越多,各项业务做法互有差异,这就对银行的电子化水平和相应的管理水平提出了更高的要求。如何利用电子化的手段构建一个高效统一的、通用灵活的系统来管理各种各样的业务,是每个商业银行所要研究的课题。支持决策系统的,需要在数据库的基础上,进行联机分析处理,每次处理的数据量大,响应时间长。
特别是银行每天要处理大量的存取款事件,做好存取款是银行工作重要的环节,然而要有效处理必须要有良好的程序和数据管理系统来建立一个良好的软件系统来实现快速、有效、准确、安全的处理银行事物。
主要用于银行的储蓄卡管理系统,它可以帮助我们有效、准确、并且高效实现的完成存取事件。此系统操作方便效率、安全性高,只要客户开户并设定好密码就可以轻松的实现存取款。
系统实现的主要有储蓄卡开户管理、存取款管理、用户查询历史数据显示、注销等功能。
储蓄卡开户管理模块:卡号、姓名、开户金额、身份证号、地址、电话、密码、确认密码和保存组成。(开户金额必须是数字,密码和确认密码必须一样是六位数字)
注销模块:一旦注销该卡号就不存在且余额提醒你取出。
通过该银行账户管理系统地运行,使办公人员可以轻松快捷的完成对账户管理的任务,提高账目管理效率,使银行的账目管理工作系统化、规范化、自动化。 该银行帐目管理信息系统,优点是设计过程思路清晰、模块划分简洁,设计各阶段分工明确。经过实践证明,该划分是合理的,极大得提高了本系统的实现。
三、系统总体框架
图1 -1
四、模块设计与分析
储蓄卡开户管理模块: 3.1 登录页面
输入卡号和密码,根据用户输入的卡号和密码,到后台文件查询,若正确则登录成功,并保存卡好信息已备后用。
若卡号存在和密码不匹配或无该卡号已经注销,提示该卡号已存在或已注销,保持界面三次不变等待用户的重新输入。
3.2 主界面页面
主要导航栏有:欢迎使用储蓄卡管理(存款、取款、修改密码、转账功能、注销退出)
3.3 储蓄卡开户页面
提供开户界面,由用户输入新储蓄卡的所有信息,将该信息保存到文件中,并将开户金额作为该卡的第一次存款记录存人文件。
3.4 存钱页面
从登录界面得到卡号,并提供数据输入界面,等待用户的输入存款金额。从后台数据库中找到该用户余额记录,修改余额,并将该存款事件的相应信息写人数据库,同时将存钱的金额显示在页面上。
3.5 取款页面
从登录界面得到卡号,并提供数据输入界面,等待用户输入取款金额,如果取款金额大于该用户卡上的余额则不能取款,或者将新的余额写人文件,并将本次取款事件写入文件同时将取钱的金额显示在页面上,。
3.6 注销页面
从关闭文件,状态为注销,最后关闭整个系统。 列举取款模块进行分析:
void consumer::fetchmoney() {
float m; char ch; do {
cout">m;
while(m
cout>m; }
if(money
cout
else
{money=money-m;
cout
cout>ch;
while(ch!='n'&&ch!='N'&&ch!='Y'&&ch!='y')//选择错误时判定 {
cout>ch; }
}while(ch=='y'||ch=='Y'); }
在取款页面中,输入取款金额并对取款金额与存款余额进行比较,如果取款金额小于零,请输入正确的数字;如果取款金额大于存款金额,对不起,您的余额不足;如果取款金额小于存款余额的话就执行,并保存记录。 五、类的设计与分析
1.comsumer 类
class comsumer 主要制定用户的成员数据,并进行登录与保存功能: 相关代码:
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=Addres
s;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; };
表1 comsumer 类说明表
2.YH 类
YH 类 主要实现用户的各种功能: 相关代码:
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;//账户数
};
六、功能测试
6.1 首页: 图6-1:
6.2储蓄卡开户页面
图6-2:
6.3 主界面页面
主要导航栏有:欢迎使用储蓄卡管理(查看帐户信息、存款、取款、修改密码、转账、返回上一菜单)
图6-3:
6.4 存钱页面
图6-4:
6.5 取款页面
从登录界面得到卡号,并提供数据输入界面,等待用户输入取款金额,如果取款金额大于该用户卡上的余额则不能取款,或者将新的余额写人文件,并将本次取款事件写入文件同时将取钱的金额显示在页面上。
输入取款金额:
图6-5:
当取款金额大于现有金额: 图6-6:
当取款金额小于或等于现有金额: 图6-7:
6.6修改密码页面
当两次输入的密码相同时: 图6-8:
当两次输入的密码不相同时: 图6-9:
6.7卡卡转帐 图6-10:
6.8 用户信息
图6-11:
6.9 销户页面
图6-12:
6.10 退出系统页面 图
6-13
七、程序源代码 #include #include #include 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{outfile
outfile.close(); }
/*读入用户信息功能实现*/ void YH::load()
{ifstream infile("bankdat.dat",ios::in);//以输入方式打开文件 if(!infile)
{cerr
int n=0; int id,m;
string nam,passw;int number;string company;string address;double in; infile>>acnum;
for(n=0;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
/*转账功能实现*/
void YH::transfer(int x) {int id;
cout>id;
int flag = 1; int i = 0;
while((i
if(id==account[i]->get_id()) flag = 0; else i++; }
if(flag) {
cout
float b;
cout>b;
while(b
cout>b; }
if(account[x]->get_money()
cout
else {account[x]->dec_money(b);account[i]->add_money(b);}
cout
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
cout
cout
cout
cout
cout
cout
"
cout
cout
cout
cout
cout>n;
while(n4) {
cout>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>id;
int flag = 1;
int i = 0; //__page_break__ while((i
if(id==account[i]->get_id()) flag = 0; else i++;
}
if(flag) {
cout
cout>passw;
if(passw!=account[i]->get_passwd()) return;//返回到登录界面 account[i]->display();cin.get();cin.get(); int n;
do{system("cls");
cout
cout>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
cin>>id;
cout
cin>>nam;
cout
cin>>passw;
cout
cin>>m;
cout
cin>>number;
cout
cin>>company;
cout
cin>>address;
cout
cin>>in;
while(m
{
cout
cin>>m;
}
consumer * acc =
consumer(id,nam,number,in,company,address,passw,m);
account[acnum] = acc;
cout
acnum++;
save();
cin.get();
return;
}
new
void YH::del_account()
{
int id;
cout
cin>>id;
int flag = 1;
int i = 0;
while((i
{
if(id == account[i]->get_id())
{
flag = 0;
}
else
{
i++;
}
}
if(flag)
{
cout
return; //返回到登陆界面
}
for(int j=i;j
{
account[j] = account[j+1];
}
account[acnum-1]=NULL;
acnum--; //账号总数自减一次
cout
save();
cin.get();
return;
}
void consumer::change_passwd()
{
string pwd,repwd;
cout
cin>>pwd;
cout
cin>>repwd;
if(pwd!=repwd)
cout
cout
}
void consumer::fetchmoney()
{
float m;
char ch;
do
{
cout"
cin>>m;
while(m
{
cout
cout
cin>>m;
}
if(money
{
cout
}
else
{money=money-m;
cout
}
cout
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"
cin>>c;
while(c
{
cout
cout
cin>>c;
}
money=money+c;
cout
cout
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
cout
cout
cout
cout
cout
cout
cout
cout
cout
cout
cout
}
void YH::exitYH()//退出系统
{
cout
exit(0);
}
银行储蓄业务管理系统项目总结 培训到了尾声,做了个有点大的项目—秦海银行储蓄业务管理系统,不是非常大,但是从中收获颇多,不是为了交作业,而是为了巩固知识, 把用到学到的东西做一下总结。
面向对象 课程设计报告
活期储蓄帐目管理系统
学生姓名 : 周 林 专 业 : 信息工程 班 级 : 1132102 学 号 : [1**********]4 指导教师 : 阳红星
2013年06月21日
一.设计要求:
活期储蓄处理中,储户开户、销户、存入、支出聚会频繁,系统设计条件: 1)能较量迅速地找到储户的帐户,以呈现存款、取款记账;
2)能较量简单,迅速地呈现插入和删除,以呈现开户和销户的需求。
二、需求与功能分析
随着社会经济的发展,信息化程度的不断深入,银行的传统业务己愈来愈不能满足银行客户的需要。
现今,人们的金融意识、科技意识己经有了很大的提高,在紧张忙碌的生活中,己越来越来不习惯每月奔忙于各银行营业柜台之问去排队缴各种各样的费用了;同时,各种经营单位如电信、移动、供电、煤气、自来水、证券等等一是为了提高服务质量、方便客户,二是为了减轻自己日趋繁重的工作量,纷纷委托银行为其开展代收代付业务:同时,随着我国加入世贸组织的日益临近,我国的银行业将面临更加激烈的同业竞争,如何提供更多的金融产品和更优质的服务,如何吸引更多的客户,如何利用计算机技术加强银行帐户信息管理、进行银行业务再造,提高银行的工作效率和业务竟争能力是摆在各家银行面前的一个迫切需要解诀的问题。
近几年来,各商业银行加快了与社会各业的合作,利用自身的网点优势和业务特点,为其提供各种高效、快捷的代收代付业务,也就是中间代理业务,目前以与广大人民群众生活密切相关的各项缴费业务如水电费、电话费、手机费等代收业务为主,这些业务开展方式多种多样,但一般都离不开计算机的高效管理支持。
随着代理业务不断发展,业务品种越来越多,各项业务做法互有差异,这就对银行的电子化水平和相应的管理水平提出了更高的要求。如何利用电子化的手段构建一个高效统一的、通用灵活的系统来管理各种各样的业务,是每个商业银行所要研究的课题。支持决策系统的,需要在数据库的基础上,进行联机分析处理,每次处理的数据量大,响应时间长。
特别是银行每天要处理大量的存取款事件,做好存取款是银行工作重要的环节,然而要有效处理必须要有良好的程序和数据管理系统来建立一个良好的软件系统来实现快速、有效、准确、安全的处理银行事物。
主要用于银行的储蓄卡管理系统,它可以帮助我们有效、准确、并且高效实现的完成存取事件。此系统操作方便效率、安全性高,只要客户开户并设定好密码就可以轻松的实现存取款。
系统实现的主要有储蓄卡开户管理、存取款管理、用户查询历史数据显示、注销等功能。
储蓄卡开户管理模块:卡号、姓名、开户金额、身份证号、地址、电话、密码、确认密码和保存组成。(开户金额必须是数字,密码和确认密码必须一样是六位数字)
注销模块:一旦注销该卡号就不存在且余额提醒你取出。
通过该银行账户管理系统地运行,使办公人员可以轻松快捷的完成对账户管理的任务,提高账目管理效率,使银行的账目管理工作系统化、规范化、自动化。 该银行帐目管理信息系统,优点是设计过程思路清晰、模块划分简洁,设计各阶段分工明确。经过实践证明,该划分是合理的,极大得提高了本系统的实现。
三、系统总体框架
图1 -1
四、模块设计与分析
储蓄卡开户管理模块: 3.1 登录页面
输入卡号和密码,根据用户输入的卡号和密码,到后台文件查询,若正确则登录成功,并保存卡好信息已备后用。
若卡号存在和密码不匹配或无该卡号已经注销,提示该卡号已存在或已注销,保持界面三次不变等待用户的重新输入。
3.2 主界面页面
主要导航栏有:欢迎使用储蓄卡管理(存款、取款、修改密码、转账功能、注销退出)
3.3 储蓄卡开户页面
提供开户界面,由用户输入新储蓄卡的所有信息,将该信息保存到文件中,并将开户金额作为该卡的第一次存款记录存人文件。
3.4 存钱页面
从登录界面得到卡号,并提供数据输入界面,等待用户的输入存款金额。从后台数据库中找到该用户余额记录,修改余额,并将该存款事件的相应信息写人数据库,同时将存钱的金额显示在页面上。
3.5 取款页面
从登录界面得到卡号,并提供数据输入界面,等待用户输入取款金额,如果取款金额大于该用户卡上的余额则不能取款,或者将新的余额写人文件,并将本次取款事件写入文件同时将取钱的金额显示在页面上,。
3.6 注销页面
从关闭文件,状态为注销,最后关闭整个系统。 列举取款模块进行分析:
void consumer::fetchmoney() {
float m; char ch; do {
cout">m;
while(m
cout>m; }
if(money
cout
else
{money=money-m;
cout
cout>ch;
while(ch!='n'&&ch!='N'&&ch!='Y'&&ch!='y')//选择错误时判定 {
cout>ch; }
}while(ch=='y'||ch=='Y'); }
在取款页面中,输入取款金额并对取款金额与存款余额进行比较,如果取款金额小于零,请输入正确的数字;如果取款金额大于存款金额,对不起,您的余额不足;如果取款金额小于存款余额的话就执行,并保存记录。 五、类的设计与分析
1.comsumer 类
class comsumer 主要制定用户的成员数据,并进行登录与保存功能: 相关代码:
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=Addres
s;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; };
表1 comsumer 类说明表
2.YH 类
YH 类 主要实现用户的各种功能: 相关代码:
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;//账户数
};
六、功能测试
6.1 首页: 图6-1:
6.2储蓄卡开户页面
图6-2:
6.3 主界面页面
主要导航栏有:欢迎使用储蓄卡管理(查看帐户信息、存款、取款、修改密码、转账、返回上一菜单)
图6-3:
6.4 存钱页面
图6-4:
6.5 取款页面
从登录界面得到卡号,并提供数据输入界面,等待用户输入取款金额,如果取款金额大于该用户卡上的余额则不能取款,或者将新的余额写人文件,并将本次取款事件写入文件同时将取钱的金额显示在页面上。
输入取款金额:
图6-5:
当取款金额大于现有金额: 图6-6:
当取款金额小于或等于现有金额: 图6-7:
6.6修改密码页面
当两次输入的密码相同时: 图6-8:
当两次输入的密码不相同时: 图6-9:
6.7卡卡转帐 图6-10:
6.8 用户信息
图6-11:
6.9 销户页面
图6-12:
6.10 退出系统页面 图
6-13
七、程序源代码 #include #include #include 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{outfile
outfile.close(); }
/*读入用户信息功能实现*/ void YH::load()
{ifstream infile("bankdat.dat",ios::in);//以输入方式打开文件 if(!infile)
{cerr
int n=0; int id,m;
string nam,passw;int number;string company;string address;double in; infile>>acnum;
for(n=0;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
/*转账功能实现*/
void YH::transfer(int x) {int id;
cout>id;
int flag = 1; int i = 0;
while((i
if(id==account[i]->get_id()) flag = 0; else i++; }
if(flag) {
cout
float b;
cout>b;
while(b
cout>b; }
if(account[x]->get_money()
cout
else {account[x]->dec_money(b);account[i]->add_money(b);}
cout
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
cout
cout
cout
cout
cout
cout
"
cout
cout
cout
cout
cout>n;
while(n4) {
cout>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>id;
int flag = 1;
int i = 0; //__page_break__ while((i
if(id==account[i]->get_id()) flag = 0; else i++;
}
if(flag) {
cout
cout>passw;
if(passw!=account[i]->get_passwd()) return;//返回到登录界面 account[i]->display();cin.get();cin.get(); int n;
do{system("cls");
cout
cout>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
cin>>id;
cout
cin>>nam;
cout
cin>>passw;
cout
cin>>m;
cout
cin>>number;
cout
cin>>company;
cout
cin>>address;
cout
cin>>in;
while(m
{
cout
cin>>m;
}
consumer * acc =
consumer(id,nam,number,in,company,address,passw,m);
account[acnum] = acc;
cout
acnum++;
save();
cin.get();
return;
}
new
void YH::del_account()
{
int id;
cout
cin>>id;
int flag = 1;
int i = 0;
while((i
{
if(id == account[i]->get_id())
{
flag = 0;
}
else
{
i++;
}
}
if(flag)
{
cout
return; //返回到登陆界面
}
for(int j=i;j
{
account[j] = account[j+1];
}
account[acnum-1]=NULL;
acnum--; //账号总数自减一次
cout
save();
cin.get();
return;
}
void consumer::change_passwd()
{
string pwd,repwd;
cout
cin>>pwd;
cout
cin>>repwd;
if(pwd!=repwd)
cout
cout
}
void consumer::fetchmoney()
{
float m;
char ch;
do
{
cout"
cin>>m;
while(m
{
cout
cout
cin>>m;
}
if(money
{
cout
}
else
{money=money-m;
cout
}
cout
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"
cin>>c;
while(c
{
cout
cout
cin>>c;
}
money=money+c;
cout
cout
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
cout
cout
cout
cout
cout
cout
cout
cout
cout
cout
cout
}
void YH::exitYH()//退出系统
{
cout
exit(0);
}
银行储蓄业务管理系统项目总结 培训到了尾声,做了个有点大的项目—秦海银行储蓄业务管理系统,不是非常大,但是从中收获颇多,不是为了交作业,而是为了巩固知识, 把用到学到的东西做一下总结。