华北水利水带年大学C++银行账户管理系统课程设计报告

上传人:新** 文档编号:563703159 上传时间:2023-09-07 格式:DOC 页数:29 大小:212.50KB
返回 下载 相关 举报
华北水利水带年大学C++银行账户管理系统课程设计报告_第1页
第1页 / 共29页
华北水利水带年大学C++银行账户管理系统课程设计报告_第2页
第2页 / 共29页
华北水利水带年大学C++银行账户管理系统课程设计报告_第3页
第3页 / 共29页
华北水利水带年大学C++银行账户管理系统课程设计报告_第4页
第4页 / 共29页
华北水利水带年大学C++银行账户管理系统课程设计报告_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《华北水利水带年大学C++银行账户管理系统课程设计报告》由会员分享,可在线阅读,更多相关《华北水利水带年大学C++银行账户管理系统课程设计报告(29页珍藏版)》请在金锄头文库上搜索。

1、精选优质文档-倾情为你奉上程序设计基础(C+) 课程设计报告 设计题目:银行账户管理程序 学生姓名:曾祥矿 专 业:计算机科学与技术 班 级:2010 级 01 班 学 号: 指导老师: 完成日期:2011 年 1 月 10 日合肥工业大学计算机与信息学院专心-专注-专业一、需求和规格说明设计一个银行账户管理程序,账户的信息有账号(唯一)、姓名、余额、身份证号码、单位、电话号码、地址等,允许用户进行如下操作:开户、销户、存款、取款、转账、查询,一个用户可以有多个户头,账户的数值没有上限。 基本要求 程序运行时,可以由用户选择进行何种操作,开户操作要求输入用户信息后自动获取账号,用户销户后账号被

2、回收,并且该账号可以继续分配给其它账户,不允许用户透支,根据姓名或账号可以进行用户的信息查询,所有的账户信息应存放到一个文件中,可以随时的访问和更新。二、设计定义一个结构账户信息结构体 AccountInfos存储账户信息信息,定义一个CBank(银行类)和CConsumer(账户类)。CBank类主要提供的功能有开户,销户、登录、转账、账户查询、文件读写等。CConsumer类主要做账户信息的数据操作,存款、取款、修改密码、显示账户信息等。软件完全遵循面向对象的程序设计开发,对类进行封装。属性和方法定义结构体类型成员名描述AccountInfosintnID开户帐号stringsPasswd

3、用户密码stringsName用户姓名stringsIDNumber身份证号stringsCompany单位stringsTel电话号码stringsAddr地址stringfMoney存款银行类: 对账户进行管理操作. 例如开户、注销、查询、保存、读取等 类名成员类别类型成员名描述CBank属性intm_nAccountNum用户数方法intAccountIsExist (int nID)检测账户是否存在存在返回account数组下标,不存在返回-1voidDelAccount ()账户注销voidExitBank ()退出系统voidGetTime ()返回当前时间voidLoadAcco

4、unt ()从文件读取账户信息voidLoginAccount ()账户登陆voidMenuShow ()显示主操作菜单voidQueryAccount ()查询账户voidSaveAccount ()写账户信息到文件voidSetAccount ()账户开户voidShowAccount(CConsumer* pConsumer)显示查询用户的信息voidTransfer (int n)转账 账户类: 对账户信息的存储和功能操作,例如取款、存款、转账、密码变更等。类名成员类别类型成员名描述CConsumer属性AccountInfosm_AccountInfo 账户信息结构体方法intAdd

5、Money (float fMoney)增加存款 voidChangePasswd ()密码变更 voidDecMoney (float fMoney)减少存款 voidDisplayInfo ()显示账户信息 voidFetchMoney ()取款 voidSaveMoney ()存款stringGetAddr ()获取地址stringGetCompany ()获取单位IntGetID ()获取账户ID stringGetIDNumber ()获取身份证号 FloatGetMoney ()获取存款 stringGetName获取用户姓名 stringGetPasswd ()获取账户密码 st

6、ringGetTel ()获取电话号码 三、用户手册程序运行后,出现如上图界面。根据提示输入相应的操作序号进入相应的功能。1、 用户开户: 在命令行内输入1 按回车键,进入开户向导,根据系统提示输入相应的数据,最后开户成功系统会给出提示。2、账户登录: 在命令行内输入2按回车键,进入账户登陆,根据提示输入开户的账户id和密码进入用户菜单(如下图)用户可根据提示进行取款、存款、转账、修改密码等操作。3、账户注销: 在命令行内输入3按回车键,进入账户注销,账户注销需要输入注销账户的密码。4、查询账户:在命令行内输入4按回车键,进入查询账户模式,账户查询可根据账户ID和用户名查询,用户查询可查询所有

7、相同用户名的账户信息。5、退出系统:在命令行内输入5按回车键,将退出本系统。四、调式及测试程序运行时,首先开户,开户后登录用户进入用户菜单,才能选择其他的服务,程序本身包含很多除错功能,当用户有不当 操作时程序会自动提示,并提示用户重新选择服务。 CBank类中的账户类数组定义长度为20,所以本程序理论上最多支持20个用户开户,当然根据需要也可对数组长度进行扩充,支持更多的用户。在实际测试中加入20用户测试无错,程序运行正常。进一步改进1、在用户进行开户时信息输入时,不能捕获用户按下的ESC键中断输入回到主菜单,下一步可考虑在开一个线程监听用户的按键操作进行处理。2、对于用户来说存款数目应是无

8、限制的,但在此程序中金钱使用的float型存储,所以每个帐户最大可存储 3.4*10(38)元,不过对于一般用户完全足够了。附录源程序/ stdafx.h#include /输入输出头文件#include /字符串操作头文件 #include /函数system()头文件#include /时间函数#include /文件操作的类和方法using namespace std;/* 刷新输入缓冲区 */inline void CinClear()/cin.sync(); /清除缓存区的数据流cin.clear(); /清除错误状态cin.ignore(1024,n ); /跳过无效数据;/* 账

9、户信息 */typedef struct AccountInfos int nID; /* 开户帐号 */ string sPasswd; /* 用户密码 */ string sName; /* 用户姓名 */string sIDNumber; /* 身份证号 */string sCompany; /* 单位 */string sTel;/* 电话号码 */string sAddr; /* 地址 */float fMoney;/* 存款 */AccountInfos()nID = 0;sPasswd = ;sName = ;fMoney = 0;sIDNumber = ;sCompany =

10、;sTel = ;sAddr = ;AccountInfos;/#代码分页#/Bank.h/* * 银行类 * 对账户进行管理操作. * 例如开户、注销、查询、保存、读取等 */#include Consumer.hclass CBank public:CBank();virtual CBank();public:void SetAccount(); /账户开户void DelAccount(); /账户注销void Transfer(int n); /转账void LoginAccount(); /登录void ExitBank();/ 退出系统void MenuShow();/菜单显示vo

11、id SaveAccount(); /保存信息到文件void LoadAccount(); /从文件读取信息int AccountIsExist(int nID); /判断账户是否存在void QueryAccount(); /查询账户void GetTime(); /获取当前时间protected:CConsumer *account20; static int m_nAccountNum;/账户数void ShowAccount(CConsumer *pConsumer);char DoVerify(const char* pszSrc);bool IsIDNumber(string sI

12、dNumber); /验证身份证bool IsTelPhone(string sTel); /验证电话号码;/#代码分页#/ Bank.cpp#include stdafx.h#include Bank.hCBank:CBank()CBank:CBank()/* 用户数 */int CBank:m_nAccountNum = 0;/* * 写账户信息到文件 */void CBank:SaveAccount()ofstream outfile(bank.dat, ios:out);int n=0;outfilem_nAccountNum ;for( ; nm_nAccountNum; n+ )outfileGetID() ;outfileGetPasswd() ;outfileGetName() ;outfileGetIDNumber() ;outfileGetCompany() ;outfileGetTel() ;outfileGetAddr() ;outfileGetMoney() ;outfile.close(); /* * 从文件读取账户信息

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号