银行账户管理系统
综合程序课程设计说明书课程设计名称: 12级综合程序课程设计报告
课程设计题目:银行账户管理系统
学院名称:信息工程学院
专业:电子信息工程班级:
学号:姓名:
评分:教师:
20 15 年 03 月 20 日
综合程序课程设计任务书
20 14 -20 15学年第 2 学期第 1 周- 2周
注:1、此表一组一表二份,课程设计小组组长一份;任课教师授课时自带一份备查。
2、课程设计结束后与“课程设计小结”、“学生成绩单”一并交院教务存档。
摘要
随着社会经济的发展,信息化程度的不断深入,计算机的广泛运用,为了满足新形势下银行客户的需求,使用计算机来进行银行账户的管理是社会发展的新常态。
本文主要介绍一种以C++为系统描述语言,采用自顶向下的的设计方法,通过类来实现相应操作的一种银行账户系统。该系统具有开户、用户信息存储、查询、转账、取款等功能。较之其他系统,具有快速、易操作、安全性好等特点。
关键词:银行账户管理系统 C++ 类
目录
第一章设计要求
设计一个银行账户管理程序,账户的信息有账号(唯一)、姓名、余额、身份证号码、电话号码,允许用户进行如下操作:开户、销户、存款、取款、转账、查询,一个用户可以有多个户头,账户的数值没有上限。
基本要求:
程序运行时,可以由用户选择进行何种操作,开户操作要求输入用户信息后自动获取账号,用户销户后账号被回收,并且该账号可以继续分配给其它账户,不允许用户透支,根据姓名或账号可以进行用户的信息查询,所有的账户信息应存放到一个文件中,可以随时的访问和更新。
选作内容:
在上述程序的基础上,添加联名账户(一个联名账户有两个拥有者)的管理。
第二章系统的组成及设计的原理
系统的组成
通过对该银行账户管理系统的需求进行分析,从增强系统的可维护性以及保密性的角度入手,整体上计划采用两个类,即zhgl类和consumer类来实现。定义zhgl为基类,定义consumer类为zhgl的派生类、使其的访问属性为public。zhgl类用来完成功能显示、开户、销户和用户登录功能;consumer类用来存放账户基本信息,进行查询、存款、取款、密码修改和转账操作。除此之外还有如下子函数组成。
void kaihu(); 通账户信息表
2.联名账户信息表
3.用户进行存取的操作表
4.用户进行转账的操作表
5.用户进行密码修改的操作
表
第三章 概要设
计
基本功能设计思路
通过对该银行账户管理系统的需求进行分析,从增强系统的可维护性以及保密性的角度入手,整体上计划采用两个类,即zhgl 类和consumer 类来实现。定义zhgl 为基类,定义consumer 类为zhgl 的派生类、使其的访问属性为public 。zhgl 类用来完成功能显示、开户、销户和用户登录功能;consumer 类用来存放账户基本信息,进行查询、存款、取款、密码修改和转账操作。定义一个account 指针,用来指向已开户的账户,并获得该账户的信息,用来执行存、取、转账等操作。并用fstream 指令进行文件的读写操作,实现将
账户所有者的信息存放到一个文件中,并可以随时的访问和更新。
程序运行后用户可根据界面提示自行操作。由于要实现界面的回复,在控制用户的循环操作时可以采用do while 匹配的循环结构。
程序框图
第四章详细设计
类的定义
zhgl类的定义
class zhgl
{
Flag=1 i=0
(i Id==account[i]->get_id() Flag=0 i=i+1 Flag=1? J i+1Account[j]=account[j+1]; Account[num-1]=NULL Num--;注销成功 账户不存在选 存 钱 将新的最终 余额显出来 铁路出版社 [2] .C程序设计语言.北京:清华大学出版社,第2版 [3] 黄维通.Visual C++面向对象与可视化程序设计.北京:清华大学出版社,第3版 附录 附录一:详细程序及注释 #include "" #include #include #include using namespace std; int i=0; int j=0; class consumer; class zhgl { public: void kaihu(); 定义 class consumer:public kaishi { public: friend class kaishi; consumer(int id,string Name,string Password,float m,int id2=0,string Name2=0,string Password2=0) { ID=id; ID2=id2; name=Name; name2=Name2; money=m; passwd=Password; passwd2=Password2; } consumer() 户 void kaishi::kaihu() { int id; int id2; string nam; string nam2; string passw; string passw2; float m; cout< cin>>id; cout< cin>>nam; cout< cin>>passw; cout< cin>>id2; if(id2!=0) //当獭缬d2输入0时骸停止1账户§2的创洹建¨ { cout< cin>>nam2; cout< cin>>passw2; } cout< cin>>m; while(m<=0) { cout<<"请输入正确的数字!"< cin>>m; } consumer * acc = new consumer(id,nam,passw,m,id2,nam2,passw2); account[num] =acc; system("cls"); cout<<"开户成功!"< num++; save(); return; } void kaishi::denglu() //登录界面 { int id; cout<<"输入账户:"; cin>>id; int flag = 1; int i = 0; while((i { if(id==account[i]->get_id()||id==account[i]->get_id2()) flag = 0; else i++; } if(flag) { cout<<"账户不存在!"< return; } cout<<"请输入密码:"; string passw; cin>>passw; if(passw!=account[i]->get_passwd()&&passw!=account[i]->get_passwd2()) { return; } int n; do{ cout<<"请选择你要进行的操作"< cin>>n; switch(n) { case 1: account[i]->display();break; case 2: account[i]->qumoney();save();break; case 3: account[i]->cunmoney();save();break; case 4: account[i]->change_passwd();save();break; case 5: zhuanzhang(i);save();break; case 6:return; } } while(1); }