版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、银行管理系统设计报告学生姓名:宋科超冯瑞 刘林锋学生学号:130812821308130413081306班级:软件学院三班一、需求分析设计一个银行账户管理系统,要求实现以下功能:1.实现银行管理员管理的功能,要求完成以下功能:1)管理员的登录(设本系统的管理员只有一个,管理员信息包括管理员姓名,管理员密码);2) 修改管理员密码; 3)为新用户创建账户信息,账户信息包括用户帐号(要求系统自动分配用户账号)、用户账户密码(为用户设置初始密码123456)、用户身份证号码、 用户姓名、用户地址、帐户金额;4)删除需要注销账户的用户的账户信息;5)查询银行信息,包括:该银行的总客户数,总的存款金额
2、;6)某个用户的账户信息。2. 实现客户对自己账户的操作功能 , 要求完成以下功能: 1)用户的登录(未登录或登录失败时不能执行用户账户的操作) ;2)修改帐户信息,要求用户输入帐号,根据用户需要修改除了帐号之外的其余信息; 3)模拟用户实现存款和取款的功能; 4)记录用户账户的历史账单,方便用户查阅,如用户何时从银行取款多少等; 5) 查询账户信息,根据输入的帐号查询用户信息、帐户金额和用户的明细账单。3. 以上功能要求以分级菜单的形式提供,不同的角色状态得到不同的菜单。二、设计思想 :定义一个用户类 customer ,数据成员主要有姓名、身份证号码、住址、余额等内容, 可供用户操作的功能
3、有开户, 销户、存款、取款、转账、余额查询等。用户可根据界面提示自行操作。定义一个管理员 administrator:管理员信息包括管理员姓名,管理员密码;管理员的登录;修改管理员密码;可操作的功能有: 1 为新用户创建账户信息,账户信息包括用户帐号、用户账户密码(为用户设置初始密码 123456)、用户身份证号码、用户姓名、用户地址、工作单位、 帐户金额; 2 删除需要注销账户的用户的账户信息; 3 查询银行信息,包括:该银行的总客户数,总的存款金额; 4 某个用户的账户信息。由于要实现界面的回复,所以用了大量的函数调用。 在控制用户的循环操作时采用了 for 循环与 break 匹配的结构
4、。在整体设计上将程序分为四个部分,第一个部分“customer.h ”,在这个文件中对所要用到的类customer 和 administrator进行了申明;第二个部分“administrator.cpp”,在这个文件里定义了管理员,并且实现了管理员对系统的管理功能;第三个部分“ customer.cpp ” 是对在“ customer.h ”中所声明的类 customer 定义了一个实体,也可以说是完成了了帐户的操作函数;第四个部分“ main.cpp ” 是主函数 main() ,所在文件,在其中不仅定义了主函数,而且完成了菜单操作函数。简易流程图:三测试结果分析与讨论:首先进入管理员登陆
5、界面如下:再选择管理员相应的服务(1-4 ),管理员注册:然后进行管理员登陆服务:修改密码服务:第二步进入用户界面:进入新开账户服务:再进行其他用户服务:李强取了 5000元新开户张三预存金额 20000元;进行转账服务:查询服务:李强账户应剩12000元:张三账户 23000元:新注册账户李四预存 30000元:进行删账户服务,删除张三:总金额查询:测试结果完毕退出程序:测试过程中的问题及采取的措施:全局变量之间的冲突?取消一个进行重新测试。循环判定条件的不完整?进行分步调试,结合程序的执行结果和目标结果进行修改。输入数据不正当?通过 if 语句进行取舍结合测试进行调整。有时还存在语法问题?
6、进行查找结合测试进行调整。四源程序:“customer.h ”#include#include #ifndef CUSTOMER_H#define CUSTOMER_Hclass customer private:double customer_Num;char secret7;int test;char Name8;char ID30;char Work_Group80;char Tel_Num20;char Address60;char password10;float Money;public:void save_money();void get_money();void change_
7、money();void find_infor();void lin_money();friend void open_account();friend void save_money();friend void get_money();friend void change_money();friend void find_infor();friend void del_account();friend void lin_money();class administrator private:int Administrator_Num;char Secret7;char Name10;int
8、test;public:void open_Admin();void get_Admin();void chg_secret();friend void open_Admin();friend void get_Admin();friend void chg_secret();friend void lin_money();#endif;“administrator.cpp”#include customer.h#include#include using namespace std;void Administrator();void slect_Admin();int Administrat
9、or_Num=1000;int T=-1;/administrator *q1;void open_Admin()/整型变量指针变量本程序支持1 个管理员char Secret7;char Name10;if(Administrator_Num=1001) cout对不起,管理员已经存在,你没权限注册!endl;Administrator();slect_Admin();return;T+;Administrator_Num+;qT=new administrator;cout请输入您的姓名:Name;char Resecret7;docout请输入你的密码(6 位):Secret;cout
10、请重新输入你的密码:Resecret;if(strcmp(Secret,Resecret)=0)cout 密码设置成功endl;break;elsecout 你两次输入有误!endl;cout 请重新设置密码!Administrator_Num=Administrator_Num;for(int a=0;aNamea=Namea;for(int f=0;fSecretf=Secretf;qT-test=1;cout恭喜您, 注册成功 !您成为管理员! 你的账号: Administrator_Num要牢记! endl;cout您需要继续服务吗(Y/N)?cn;for(;cn!=n&cn!=N&c
11、n!=y&cn!=Y;)cout 您刚才输入的既不是“ Y”也不是“ N” !endl; cout 您需要继续服务吗 (Y/N)?cn;if(cn=y|cn=Y)Administrator();slect_Admin();return;if(cn=n|cn=N)cout感谢您的使用,再见!endl;return;void get_Admin()cout 请输入管理员您的账号:a;cn=atoi(a);if(cn!=1001)cout 对不起,你不是管理员或你的账号有误 !endl; cout 您需要继续此服务吗? (Y/N)cn;for(;cn!=n&cn!=N&cn!=y&cn!=Y;)co
12、utcout您刚才输入的既不是“您需要继续此服务吗?Y”也不是“ (Y/N)endl;N” !cn;if(cn=y|cn=Y)get_Admin();return;if(cn=n|cn=N)Administrator();slect_Admin();return;elsez=cn-1001;break;docout 请输入你的密码:ser;if(strcmp(ser,qz-Secret)=0)break;elsecout 输入密码有误!endl;cout 请重新输入!endl;while(1);cout管理员登陆成功!endl;cout您需要继续使用此系统吗(Y/N)?cn1;for(;cn1
13、!=n&cn1!=N&cn1!=y&cn1!=Y;)coutcout您刚才输入的既不是“您需要继续使用此系统吗Y”也不是“ N”! endl;(Y/N)?cn1;if(cn1=y|cn1=Y)Administrator();slect_Admin();return;if(cn1=n|cn1=N)return;void chg_secret()cout 请输入管理员您的账号:a;cn=atoi(a);if(cn!=1001)cout 对不起,你不是管理员或你的账号有误! endl; cout 您需要继续此服务吗? (Y/N)cn;for(;cn!=n&cn!=N&cn!=y&cn!=Y;)cou
14、tcout您刚才输入的既不是“您需要继续此服务吗?Y”也不是“ (Y/N)endl;N” !cn;if(cn=y|cn=Y)get_Admin();return;if(cn=n|cn=N)Administrator();slect_Admin();return;elsez=cn-1001;break;docout 请输入你的密码:ser;if(strcmp(ser,qz-Secret)=0)break;elsecout 输入密码有误!endl;cout 请重新输入!endl;while(1);char SSecret7;docout请输入你的新密码(6 位 ):SSecret;cout 请重新
15、输入你的新密码:Resecret;if(strcmp(SSecret,Resecret)=0)cout 密码设置成功endl;break;elsecout 你两次输入有误!endl;cout 请重新设置新密码!Secret,SSecret);cout您需要继续使用此系统吗(Y/N)?cn1;for(;cn1!=n&cn1!=N&cn1!=y&cn1!=Y;)coutcout您刚才输入的既不是“您需要继续使用此系统吗Y”也不是“ N”! endl;(Y/N)?cn1;if(cn1=y|cn1=Y)Administrator();slect_Admin();return;if(cn1=n|cn1=
16、N)return;“customer.cpp ”#include customer.h#include#include using namespace std;void dis_menu();void slect_menu();double customer_Num=10000;int Z=0;/customer *p10000;/administrator *Q1;/void open_account()/用户帐号变量 /指针变量指针变量本程序支持指针变量本程序支持开户函数10000 个用户1 个管理员char secret7;char Name8;char ID30;char Work_G
17、roup80;char Tel_Num20;char Address60;float Money(0);if(customer_Num=20000) cout对不起,系统存储空间已满,无法开户,对此带来的不便我们深表歉意!endl;dis_menu();slect_menu();return;Z+;customer_Num+;pZ=new customer;cout请输入您的姓名:Name;char resecret7;docout请输入你的密码(6 位):secret;cout 请重新输入你的密码:resecret;if(strcmp(secret,resecret)=0)cout 密码设置
18、成功endl;break;elsecout 你两次输入有误!endl;cout 请重新设置密码!endl;while(1);cout请输入您的身份证件号码:ID;cout请输入您的单位地址:Work_Group;cout请输入您的电话号码:Tel_Num;cout请输入您的住址:Address;cout请输入您的金额(开户¥50.00元起):Money;/ 银行开户50 元起char a180;for(;) cina1;Money=atoi(a1);if(Money100000000)coutcoutcout对不起,您输入的金额不正确。endl;(提示消息:金额小于50 或过于巨大。) end
19、l;请重新输入您的金额:customer_Num=customer_Num;for(int a=0;aNamea=Namea;for(int f=0;fsecretf=secretf;for(int b=0;bIDb=IDb;for(int c=0;cWork_Groupc=Work_Groupc;for(int d=0;dTel_Numd=Tel_Numd; for(int e=0;eAddresse=Addresse;pZ-Money=Money; pZ-test=1;cout恭喜您,开户成功!您的帐户为cout您需要继续服务吗(Y/N)?cn;: customer_Num请牢记endl;
20、for(;cn!=n&cn!=N&cn!=y&cn!=Y;)cout 您刚才输入的既不是“ Y”也不是“ N” !endl; cout 您需要继续服务吗 (Y/N)?cn;if(cn=y|cn=Y)dis_menu();slect_menu();return;if(cn=n|cn=N)cout感谢您的使用,再见!endl;return;void save_money()/存款函数 cout 请输入您的帐号: a;cn=atoi(a);if(cncustomer_Num|pcn-10000-test=0)cout 对不起,您输入的帐户错误或并不存在! endl; cout 您需要继续存款吗? (
21、Y/N)cn;for(;cn!=n&cn!=N&cn!=y&cn!=Y;)cout 您刚才输入的既不是“ Y”也不是“ N” !endl; cout 您需要继续存款吗? (Y/N)cn;if(cn=y|cn=Y)save_money();return;if(cn=n|cn=N)dis_menu();slect_menu();return;elsez=cn-10000;break;docout 请输入你的密码:ser;if(strcmp(ser,pZ-secret)=0)break;elsecout 输入密码有误!endl;cout 请重新输入!endl;while(1);cout 请输入您存入
22、的金额:save;if(save0)cout对不起,您输入的金额错误!endl;cout请输入您存入的金额:Money=pz-Money+save;cout 存款成功 !endl;cout 您需要继续存款吗(Y/N)?cn1;for(;cn1!=n&cn1!=N&cn1!=y&cn1!=Y;)cout 您刚才输入的既不是“Y”也不是“ N”!endl;cout 您需要继续存款吗(Y/N)?cn1;if(cn1=y|cn1=Y)save_money();return;if(cn1=n|cn1=N)dis_menu();slect_menu();return;void get_money()/取款
23、函数cout请输入您的帐号:a;cn=atoi(a);if(cncustomer_Num|pcn-10000-test=0)cout 对不起,您输入的帐户错误或并不存在! endl; cout 您需要继续取款吗? (Y/N)cn;for(;cn!=n&cn!=N&cn!=y&cn!=Y;)coutcout您刚才输入的既不是“您需要继续取款吗?Y”也不是“ (Y/N)endl;N” !cn;if(cn=y|cn=Y)get_money();return;if(cn=n|cn=N)dis_menu();slect_menu();return;elsez=cn-10000;break;docout
24、请输入你的密码:ser;if(strcmp(ser,pZ-secret)=0)break;elsecout 输入密码有误!endl;cout 请重新输入!endl;while(1);cout请输入您要取出的金额:get;if(get0)cout 对不起,你输入的金额不正确!endl;cout 请输入您要取出的金额:pz-Money)cout对不起,您的余额额不足!endl;cout请输入您要取出的金额:Money=pz-Money-get;cout取款成功 !endl;cout您需要继续取款吗(Y/N)?cn1;for(;cn1!=n&cn1!=N&cn1!=y&cn1!=Y;)coutcou
25、t您刚才输入的既不是“Y”也不是“ N”! endl;您需要继续取款吗(Y/N)?cn1;if(cn1=y|cn1=Y)get_money();return;if(cn1=n|cn1=N)dis_menu();slect_menu();return;void change_money()/转帐函数int z1=0;int z2=0;int acco_num1;int acco_num2;cout 请输入您的帐号:a1;acco_num1=atoi(a1);if(acco_num1customer_Num|pacco_num1-10000-test=0)cout 对不起 , 您的帐户错误或并不存
26、在。endl;cout 您需要继续转帐吗?(Y/N)cn;for(;cn!=n&cn!=N&cn!=y&cn!=Y;)cout 您刚才输入的既不是“Y”也不是“ N” !endl;cout 您需要继续转帐吗?(Y/N)cn;if(cn=y|cn=Y)change_money();return;if(cn=n|cn=N)dis_menu();slect_menu();return;elsez1=acco_num1-10000;break;docout 请输入你的密码:ser;if(strcmp(ser,pz1-secret)=0)break;elsecout 输入密码有误!endl;cout 请
27、重新输入!endl;while(1);cout 请输入对方的帐号:a2;acco_num2=atoi(a2);if(acco_num2customer_Num|pacco_num2-10000-test=0)cout 对不起 , 对方的帐户错误或并不存在。endl;cout 您需要继续转帐吗?(Y/N)cn;for(;cn!=n&cn!=N&cn!=y&cn!=Y;)cout 您刚才输入的既不是“Y”也不是“ N” !endl;cout 您需要继续转帐吗?(Y/N)cn;if(cn=y|cn=Y)change_money();return;if(cn=n|cn=N)dis_menu();sle
28、ct_menu();return;elsez2=acco_num2-10000;break;cout 请输入您要转帐给对方的金额:change;for(;changepz1-Money|change0;)cout 对不起,您的余额不足或金额错误!endl;cout 请输入您要转帐给对方的金额:change;pz1-Money=pz1-Money-change;pz2-Money=pz2-Money+change;cout 交易成功! endl;cout 您需要继续转帐服务吗(Y/N)?cn;for(;cn!=n&cn!=N&cn!=y&cn!=Y;)cout 您刚才输入的既不是“ Y”也不是“
29、 N”!endl; cout 您需要继续转帐服务吗 (Y/N)?cn;if(cn=y|cn=Y)change_money();return;if(cn=n|cn=N)dis_menu();slect_menu();return;void find_infor()/ 查询函数cout 请输入您的帐户:a;cn=atoi(a);if(cncustomer_Num|pcn-10000-test=0)cout 对不起,您的帐户错误或并不存在!endl;cout 您需要继续查询服务吗(Y/N)?cn;for(;cn!=n&cn!=N&cn!=y&cn!=Y;)cout 您刚才输入的既不是“ Y”也不是“
30、 N”! endl; cout 您需要继续查询服务吗 (Y/N)?cn;if(cn=y|cn=Y)find_infor();return;if(cn=n|cn=N)dis_menu();slect_menu();return;elsez=cn-10000;break;docout 请输入你的密码:ser;if(strcmp(ser,pz-secret)=0)break;elsecout 输入密码有误!endl;cout 请重新输入!endl;while(1);cout 帐号 :tcustomer_Numendl;cout 姓名 :tNameendl;cout 住址 :tAddressendl;
31、cout 电话 :tTel_Numendl;cout 余额 :tMoney元 endl;coutn您需要继续查询服务吗(Y/N)?cn1;for(;cn1!=n&cn1!=N&cn1!=y&cn1!=Y;)coutcout您刚才输入的既不是“您需要继续查询服务吗Y”也不是“ N”!endl;(Y/N)?cn1;if(cn1=y|cn1=Y)find_infor();return;if(cn1=n|cn1=N)dis_menu();slect_menu();return;void del_account()/注销函数cout 请输入您的帐户:int z=0;int cn;char a80;for(;)a;cn=atoi(a);if(cncustomer_Num|pcn-10000-test=0)cout 对不起,您的帐户错误或并不存在!endl;cout 您需要继续注销服务吗(Y/N)?cn;for(;cn!=n&cn!=N&cn!=y&cn!=Y;)cout 您刚才输入的既不是“ Y”也不是“ N”! endl; cout 您需要继续注销服务吗 (Y/N)?cn;if(cn=y|cn=Y)de
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年天府新区信息职业学院单招职业倾向性测试题库附答案详解
- 安全预防管理承诺书4篇范文
- 员工忠诚誓言承诺书范文4篇
- 一件让我感动的事记叙文15篇
- 基于5G技术的智慧工地整体解决方案
- 电子商务师运营推广实战手册
- 销售数据核对及业绩确认函3篇范本
- 绿色产品无污染认证承诺函(3篇)
- 护理专业学生基础护理操作技能指导书
- 员工培训计划与实施方案职业发展规划结合版
- 鼾症科普宣传课件
- 义务教育《英语课程标准》(2025年修订版)原版核心框架+深度解读+测试题及答案
- HIV感染者心理支持方案
- 配电箱设备防护维护技术方案
- 2026年苏州工业职业技术学院单招综合素质考试题库附答案
- 2025版《煤矿安全规程》解读
- 2026年安徽水利水电职业技术学院单招职业适应性考试题库及答案1套
- 采集动脉血课件
- 2025年江西省公务员考试行测真题解析试卷(含答案)
- 剧毒从业证摸拟考试及答案解析
- 西藏高标准农田施工方案
评论
0/150
提交评论