金融保险银行管理系统设计报告.docx

上传人:b****8 文档编号:28030767 上传时间:2023-07-07 格式:DOCX 页数:44 大小:103.38KB
下载 相关 举报
金融保险银行管理系统设计报告.docx_第1页
第1页 / 共44页
金融保险银行管理系统设计报告.docx_第2页
第2页 / 共44页
金融保险银行管理系统设计报告.docx_第3页
第3页 / 共44页
金融保险银行管理系统设计报告.docx_第4页
第4页 / 共44页
金融保险银行管理系统设计报告.docx_第5页
第5页 / 共44页
点击查看更多>>
下载资源
资源描述

金融保险银行管理系统设计报告.docx

《金融保险银行管理系统设计报告.docx》由会员分享,可在线阅读,更多相关《金融保险银行管理系统设计报告.docx(44页珍藏版)》请在冰豆网上搜索。

金融保险银行管理系统设计报告.docx

金融保险银行管理系统设计报告

(金融保险)银行管理系统设计报告

银行管理系统设计报告

 

学生姓名:

宋科超冯瑞刘林锋

学生学号:

130812821308130413081306

班级:

软件学院三班

 

一、需求分析

设计一个银行账户管理系统,要求实现以下功能:

1.实现银行管理员管理的功能,要求完成以下功能:

1)管理员的登录(设本系统的管理员只有一个,管理员信息包括管理员姓名,管理员密码);2)修改管理员密码;3)为新用户创建账户信息,账户信息包括用户帐号(要求系统自动分配用户账号)、用户账户密码(为用户设置初始密码123456)、用户身份证号码、用户姓名、用户地址、帐户金额;4)删除需要注销账户的用户的账户信息;5)查询银行信息,包括:

该银行的总客户数,总的存款金额;6)某个用户的账户信息。

2.实现客户对自己账户的操作功能,要求完成以下功能:

1)用户的登录(未登录或登录失败时不能执行用户账户的操作);2)修改帐户信息,要求用户输入帐号,根据用户需要修改除了帐号之外的其余信息;3)模拟用户实现存款和取款的功能;4)记录用户账户的历史账单,方便用户查阅,如用户何时从银行取款多少等;5)查询账户信息,根据输入的帐号查询用户信息、帐户金额和用户的明细账单。

3.以上功能要求以分级菜单的形式提供,不同的角色状态得到不同的菜单。

二、设计思想:

定义一个用户类customer,数据成员主要有姓名、身份证号码、住址、余额等内容,可供用户操作的功能有开户,销户、存款、取款、转账、余额查询等。

用户可根据界面提示自行操作。

定义一个管理员administrator:

管理员信息包括管理员姓名,管理员密码;管理员的登录;修改管理员密码;可操作的功能有:

1为新用户创建账户信息,账户信息包括用户帐号、用户账户密码(为用户设置初始密码123456)、用户身份证号码、用户姓名、用户地址、工作单位、帐户金额;2删除需要注销账户的用户的账户信息;3查询银行信息,包括:

该银行的总客户数,总的存款金额;4某个用户的账户信息。

由于要实现界面的回复,所以用了大量的函数调用。

在控制用户的循环操作时采用了for循环与break匹配的结构。

在整体设计上将程序分为四个部分,第一个部分“customer.h”,在这个文件中对所要用到的类customer和administrator进行了申明;第二个部分“administrator.cpp”,在这个文件里定义了管理员,并且实现了管理员对系统的管理功能;第三个部分“customer.cpp”是对在“customer.h”中所声明的类customer定义了一个实体,也可以说是完成了了帐户的操作函数;第四个部分“main.cpp”是主函数main(),所在文件,在其中不仅定义了主函数,而且完成了菜单操作函数。

简易流程图:

 

三.测试结果分析与讨论:

首先进入管理员登陆界面如下:

再选择管理员相应的服务(1--4),管理员注册:

然后进行管理员登陆服务:

修改密码服务:

第二步进入用户界面:

进入新开账户服务:

再进行其他用户服务:

 

李强取了5000元

新开户张三预存金额20000元;进行转账服务:

 

查询服务:

李强账户应剩12000元:

 

张三账户23000元:

 

新注册账户李四预存30000元:

进行删账户服务,删除张三:

总金额查询:

测试结果完毕退出程序:

测试过程中的问题及采取的措施:

∙全局变量之间的冲突?

取消一个进行重新测试。

∙循环判定条件的不完整?

进行分步调试,结合程序的执行结果和目标结果进行修改。

∙输入数据不正当?

通过if语句进行取舍结合测试进行调整。

∙有时还存在语法问题?

进行查找结合测试进行调整。

四.源程序:

“customer.h”

#include

#include

#ifndefCUSTOMER_H

#defineCUSTOMER_H

classcustomer{

private:

doublecustomer_Num;

charsecret[7];

inttest;

charName[8];

charID[30];

charWork_Group[80];

charTel_Num[20];

charAddress[60];

charpassword[10];

floatMoney;

public:

voidsave_money();

voidget_money();

voidchange_money();

voidfind_infor();

voidlin_money();

friendvoidopen_account();

friendvoidsave_money();

friendvoidget_money();

friendvoidchange_money();

friendvoidfind_infor();

friendvoiddel_account();

friendvoidlin_money();

};

classadministrator{

private:

intAdministrator_Num;

charSecret[7];

charName[10];

inttest;

public:

voidopen_Admin();

voidget_Admin();

voidchg_secret();

friendvoidopen_Admin();

friendvoidget_Admin();

friendvoidchg_secret();

friendvoidlin_money();

};

#endif;

“administrator.cpp”

#include"customer.h"

#include

#include

usingnamespacestd;

voidAdministrator();

voidslect_Admin();

intAdministrator_Num=1000;

intT=-1;//整型变量

administrator*q[1];//指针变量本程序支持1个管理员

voidopen_Admin()

{

charSecret[7];

charName[10];

if(Administrator_Num==1001){

cout<<"对不起,管理员已经存在,你没权限注册!

"<

Administrator();

slect_Admin();

return;

}

T++;

Administrator_Num++;

q[T]=newadministrator;

cout<<"请输入您的姓名:

"<

cin>>Name;

charResecret[7];

do

{

cout<<"请输入你的密码(6位):

"<

cin>>Secret;

cout<<"请重新输入你的密码:

"<

cin>>Resecret;

if(strcmp(Secret,Resecret)==0)

{

cout<<"密码设置成功"<

break;

}

else

cout<<"你两次输入有误!

"<

cout<<"请重新设置密码!

"<

}while

(1);

q[T]->Administrator_Num=Administrator_Num;

for(inta=0;a<10;a++)

{

q[T]->Name[a]=Name[a];

}

for(intf=0;f<7;f++)

{

q[T]->Secret[f]=Secret[f];

}

q[T]->test=1;

cout<<"恭喜您,注册成功!

您成为管理员!

你的账号:

"<

"<

cout<<"您需要继续服务吗(Y/N)?

"<

charcn;

cin>>cn;

for(;cn!

='n'&&cn!

='N'&&cn!

='y'&&cn!

='Y';)

{

cout<<"您刚才输入的既不是“Y”也不是“N”!

"<

cout<<"您需要继续服务吗(Y/N)?

"<

cin>>cn;

}

if(cn=='y'||cn=='Y')

{

Administrator();

slect_Admin();

return;

}

if(cn=='n'||cn=='N')

{

cout<<"感谢您的使用,再见!

"<

return;

}

}

voidget_Admin()

{

cout<<"请输入管理员您的账号:

"<

intz=0;

intcn;

chara[80];

for(;;)

{

cin>>a;

cn=atoi(a);

if(cn!

=1001)

{

cout<<"对不起,你不是管理员或你的账号有误!

"<

cout<<"您需要继续此服务吗?

(Y/N)"<

charcn;

cin>>cn;

for(;cn!

='n'&&cn!

='N'&&cn!

='y'&&cn!

='Y';)

{

cout<<"您刚才输入的既不是“Y”也不是“N”!

"<

cout<<"您需要继续此服务吗?

(Y/N)"<

cin>>cn;

}

if(cn=='y'||cn=='Y')

{

get_Admin();

return;

}

if(cn=='n'||cn=='N')

{

Administrator();

slect_Admin();

return;

}

}

else

z=cn-1001;

break;

}

do

{

cout<<"请输入你的密码:

"<

charser[7];

cin>>ser;

if(strcmp(ser,q[z]->Secret)==0)

break;

else

{

cout<<"输入密码有误!

"<

cout<<"请重新输入!

"<

}

}while

(1);

cout<<"管理员登陆成功!

"<

cout<<"您需要继续使用此系统吗(Y/N)?

"<

charcn1;

cin>>cn1;

for(;cn1!

='n'&&cn1!

='N'&&cn1!

='y'&&cn1!

='Y';)

{

cout<<"您刚才输入的既不是“Y”也不是“N”!

"<

cout<<"您需要继续使用此系统吗(Y/N)?

"<>cn1;

}

if(cn1=='y'||cn1=='Y')

{

Administrator();

slect_Admin();

return;

}

if(cn1=='n'||cn1=='N')

return;

}

voidchg_secret()

{

cout<<"请输入管理员您的账号:

"<

intz=0;

intcn;

chara[80];

for(;;)

{

cin>>a;

cn=atoi(a);

if(cn!

=1001)

{

cout<<"对不起,你不是管理员或你的账号有误!

"<

cout<<"您需要继续此服务吗?

(Y/N)"<

charcn;

cin>>cn;

for(;cn!

='n'&&cn!

='N'&&cn!

='y'&&cn!

='Y';)

{

cout<<"您刚才输入的既不是“Y”也不是“N”!

"<

cout<<"您需要继续此服务吗?

(Y/N)"<

cin>>cn;

}

if(cn=='y'||cn=='Y')

{

get_Admin();

return;

}

if(cn=='n'||cn=='N')

{

Administrator();

slect_Admin();

return;

}

}

else

z=cn-1001;

break;

}

do

{

cout<<"请输入你的密码:

"<

charser[7];

cin>>ser;

if(strcmp(ser,q[z]->Secret)==0)

break;

else

{

cout<<"输入密码有误!

"<

cout<<"请重新输入!

"<

}

}while

(1);

charSSecret[7];

do

{

cout<<"请输入你的新密码(6位):

"<

cin>>SSecret;

cout<<"请重新输入你的新密码:

"<

charResecret[7];

cin>>Resecret;

if(strcmp(SSecret,Resecret)==0)

{

cout<<"密码设置成功"<

break;

}

else

cout<<"你两次输入有误!

"<

cout<<"请重新设置新密码!

"<

}while

(1);

strcpy(q[z]->Secret,SSecret);

cout<<"您需要继续使用此系统吗(Y/N)?

"<

charcn1;

cin>>cn1;

for(;cn1!

='n'&&cn1!

='N'&&cn1!

='y'&&cn1!

='Y';)

{

cout<<"您刚才输入的既不是“Y”也不是“N”!

"<

cout<<"您需要继续使用此系统吗(Y/N)?

"<>cn1;

}

if(cn1=='y'||cn1=='Y')

{

Administrator();

slect_Admin();

return;

}

if(cn1=='n'||cn1=='N')

return;

}

“customer.cpp”

#include"customer.h"

#include

#include

usingnamespacestd;

voiddis_menu();

voidslect_menu();

doublecustomer_Num=10000;//用户帐号

intZ=0;//变量//指针变量

customer*p[10000];//指针变量本程序支持10000个用户

administrator*Q[1];//指针变量本程序支持1个管理员

voidopen_account()//开户函数

{

charsecret[7];

charName[8];

charID[30];

charWork_Group[80];

charTel_Num[20];

charAddress[60];

floatMoney(0);

if(customer_Num==20000){

cout<<"对不起,系统存储空间已满,无法开户,对此带来的不便我们深表歉意!

"<

dis_menu();

slect_menu();

return;

}

Z++;

customer_Num++;

p[Z]=newcustomer;

cout<<"请输入您的姓名:

"<

cin>>Name;

charresecret[7];

do

{

cout<<"请输入你的密码(6位):

"<

cin>>secret;

cout<<"请重新输入你的密码:

"<

cin>>resecret;

if(strcmp(secret,resecret)==0)

{

cout<<"密码设置成功"<

break;

}

else

cout<<"你两次输入有误!

"<

cout<<"请重新设置密码!

"<

}while

(1);

cout<<"请输入您的身份证件号码:

"<

cin>>ID;

cout<<"请输入您的单位地址:

"<

cin>>Work_Group;

cout<<"请输入您的电话号码:

"<

cin>>Tel_Num;

cout<<"请输入您的住址:

"<

cin>>Address;

cout<<"请输入您的金额(开户¥50.00元起):

"<>Money;//银行开户50元起

chara1[80];

for(;;){

cin>>a1;

Money=atoi(a1);

if(Money<50||Money>100000000)

{

cout<<"对不起,您输入的金额不正确。

"<

cout<<"(提示消息:

金额小于50或过于巨大。

)"<

cout<<"请重新输入您的金额:

"<

}

else

break;

}

p[Z]->customer_Num=customer_Num;

for(inta=0;a<8;a++)

{

p[Z]->Name[a]=Name[a];

}

for(intf=0;f<7;f++)

{

p[Z]->secret[f]=secret[f];

}

for(intb=0;b<30;b++)

{

p[Z]->ID[b]=ID[b];

}

for(intc=0;c<80;c++)

{

p[Z]->Work_Group[c]=Work_Group[c];

}

for(intd=0;d<20;d++)

{

p[Z]->Tel_Num[d]=Tel_Num[d];

}for(inte=0;e<60;e++)

{

p[Z]->Address[e]=Address[e];

}

p[Z]->Money=Money;

p[Z]->test=1;

cout<<"恭喜您,开户成功!

您的帐户为:

"<

cout<<"您需要继续服务吗(Y/N)?

"<

charcn;

cin>>cn;

for(;cn!

='n'&&cn!

='N'&&cn!

='y'&&cn!

='Y';)

{

cout<<"您刚才输入的既不是“Y”也不是“N”!

"<

cout<<"您需要继续服务吗(Y/N)?

"<>cn;

}

if(cn=='y'||cn=='Y')

{

dis_menu();

slect_menu();

return;

}

if(cn=='n'||cn=='N')

{

cout<<"感谢您的使用,再见!

"<

return;

}

}

voidsave_money()//存款函数

{cout<<"请输入您的帐号:

"<

intz=0;

intcn;

chara[80];

for(;;)

{

cin>>a;

cn=atoi(a);

if(cn<10001||cn>customer_Num||p[cn-10000]->test==0)

{

cout<<"对不起,您输入的帐户错误或并不存在!

"<

cout<<"您需要继续存款吗?

(Y/N)"<

charcn;

cin>>cn;

for(;cn!

='n'&&cn!

='N'&&cn!

='y'&&cn!

='Y';)

{

cout<<"您刚才输入的既不是“Y”也不是“N”!

"<

cout<<"您需要继续存款吗?

(Y/N)"<

cin>>cn;

}

if(cn=='y'||cn=='Y')

{

save_money();

return;

}

if(cn=='n'||cn=='N')

{

dis_menu();

slect_menu();

return;

}

}

else

z=cn-10000;

break;

}

do

{

cout<<"请输入你的密码:

"<

charser[7];

cin>>ser;

if(strcmp(ser,p[Z]->secret)==0)

break;

else

{

cout<<"输入密码有误!

"<

cout<<"请重新输入!

"<

}

}while

(1);

cout<<"请输入您存入的金额:

"<

intsave;

for(;;)

{

cin>>save;

if(save<0)

{

cout<<"对不起,您输入的金额错误!

"<

cout<<"请输入您存入的金额:

"<

}

else

break;

}

p[z]->Money=p[z]->Money+save;

cout<<"存款成功!

"<

cout<<"您需要继续存款吗(Y/N)?

"<

charcn1;

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

当前位置:首页 > 解决方案 > 学习计划

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

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