版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 面向对象程序设计课外实践报告项 目 名 称: 银行账户管理程序(win32应用程序) 所 在 班 级: 13级物联网工程 小 组 成 员: 王铎 指 导 教 师: 赵红丹 起 止 时 间: 2014.11.252014.12.20 项目基本信息项目名称设计一个排课程序项目简介1 问题描述设计一个银行账户管理程序,账户的信息有账号(唯一)、姓名、余额、身份证号码、单位、电话号码、地址等,允许用户进行如下操作:开户、销户、存款、取款、转账、查询,一个用户可以有多个户头,账户的数值没有上限。2基本要求程序运行时,可以由用户选择进行何种操作,开户操作要求输入用户信息后自动获取账号,用户销户后账号被回
2、收,并且该账号可以继续分配给其它账户,不允许用户透支,根据姓名或账号可以进行用户的信息查询,所有的账户信息应存放到一个文件中,可以随时的访问和更新3测试数据程序应输入不少于10人的账户信息,应考虑到人员同名的情况。小组成员王铎任务分工一、问题描述及分析:我们的银行账户管理系统的主要问题就是 :1. 对刚刚开通银行账号的人们需要自动的按照先后顺序给出所属于他们的银行账号码,切不允许号码重复。即给账号一个初始值,且开通一个账户账号就自行加加,即将其设成静态成员,即可达到要求。2. 对已开通的银行账户能进行注销账号、存、取钱,账户之间能相互转账,且能记住他们的账户信息,这就需要在银行类Bank里控制
3、账号类Account的成员,然后进行编辑即可。3. 开通银行账号时需谨记自己的身份证号码,这对以后查找个人信息十分关键,所以开户时需要认真填写个人信息,如实填写!切记!二、功能模块及结构描述:功能模块:我们的程序共分为:开通银行账户、注销银行账户、对已开通的账户进行存款、取款、对已开通的两个账户进行转账、对已开通的账户的信息的查询(包括对单个账户的查询)这六个功能模块。结构描述:1. 由于是银行账户管理系统,且是银行管理账号,所以共分为两个类,即账号类Account和银行类Bank。2. 账号类Account主要管理账户的所有信息,对账号的输入、存入、输出,对账户余额的转入和转出等都是账号类管
4、理的,而银行类Bank是对人们进行开通银行账户、注销银行账户、存款、取款、转账、已开通账户信息的查询等服务的三、主要流程描述:流程图:开始运行开通账户(初始余额均为0)账户信息存入文件显示所有已开通账户的信息查询单个账户信息(按身份证号码查找)账户进行存款、取款两个账户之间进行转账注销账户结束运行 四、使用说明:程序运行后,进入界面:在如上所示的界面下,根据提示进行基本的操作。五、 问题及解决方法问题1.账户号码accountnumber自动生成的问题,刚开始是将其定义在账号类Account和银行类Bank这两个类的外面,虽然可以自动生成,但是却无法将各个账户号码保存起来并且正确输出。问题2.
5、两个账户转账时,无法将上个账户的钱数正确的转入另一个账户问题3.注销账号时总是注销不成功,注销了还存在问题1的解决方法:accountnumber是账号,故应是账号类Account里的一个成员,由于它是自加的,所以将initnumber设置成静态成员,另设一个accountnumber成员,且将initnumber的值赋给accountnumber,这样就完成了账号的自行增加且能保存。问题2的解决方法:两个账户转账,应该也是账号类Account里的函数的问题,所以,为了能使转入钱的账户转入的钱数等于转出钱的账户转出的钱数,那么,转出钱的函数就应该有转出钱数的返回值,即return money;
6、而转出钱的函数就应该将其转出的money转给这个账户,则函数就应该写成void Account:cunru(float x),而下面运用转账时x=accoutsetm.zhuanzou();则转账时就写成accoutsetm.cunru(x);即可。问题3的解决方法:银行是管理账号的,所以,若使银行能够注销某个账号的所有信息,那么,将这个账号从账号数组里去掉即可,则注销一个账号,账号数组总数就减少1,即count=count-1;若使其账号注销,则可以先从数组中查询到该账户,然后将其账户后面的成员一个一个向前移一位:accoutsetl=accoutsetl+1;且数组总数减少了1,那么即可认
7、为该账户已被注销了。六、 课外实践总结:通过这次课外实践,我们真正体会到自己的能力的不足,当然,这次实践没有少请教老师,在老师的精心指导下,我们更加有信心去战胜困难,并且爱上了编程,感觉C+还是比较容易学的,不过还是要好好学习,除了上课认真听讲外,还应该课下多上机实践,把所学的一点一滴慢慢积累下来,不然到最后什么都没记住,到那时候再后悔自己平时没有好好学习就已经晚了,一般都是书到用时方恨少,所以,平时就该把该记的都会用,到时候编程的时候用的得心应手,不管怎么说,总之,我们都要多学、多问、多总结,争取将C+学精、学通!七、 源代码:#include#include#include#include
8、using namespace std;class Account/-账户类public:Account()/-Account构造函数 accountnumber=initnumber;/-账户号码赋值 initnumber+; rest_money=0; Account()/-Account析构函数void Input();/-输入账户信息函数void Printf1();/-输出账户信息函数void Delete();/-删除账户信息函数void Add();/-增加钱数void Min();/-减少钱数float zhuanzou();/-转走void cunru(float x);/-
9、存入string id;/-身份证号码 float rest_money;/-余额protected:string name;/-姓名int age;/-年龄string danwei;/-单位string phonenumber;/-电话号码string address;/-地址string password;/-密码string password1;/-密码1float money1;/-转的金额 long accountnumber;/-账户号码static int initnumber;/-设置静态成员,让账号能自行加加;int Account:initnumber=;void Acc
10、ount:Input()/-输入账户信息函数 int a; system(cls); cout您好!*_* 欢迎您来开通银行账户!*.* endl; cout endl; cout endl; cout-endl;cout接下来,请您依次输入您的 姓名 年龄 身份证号码 单位 电话号码 地址 密码 nameageiddanweiphonenumberaddresspassword; coutpassword1; if(password1=password) cout您好!*_* 您的账户号码是:accountnumberendl; cout恭喜您的存折账户已开通!请您记好您的账户号码和您的密码
11、!*.* *.*endl; cout-endl; else cout很抱歉!您与上次输入的密码不一致!请重新开户!endl; a=1; system(pause); void Account:Printf1()cout该账号的银行账户信息如下:endl;cout姓名:name年龄:age身份证号码:id单位:danwei电话号码:phonenumber地址:address账户号码:accountnumber余额:rest_moneyendl;void Account:Add()/-增加钱数 long money; cout请输入您要存入的钱数:money; rest_money=rest_mo
12、ney+money; cout您好!*_* 恭喜您,存入成功 !endl;void Account:Min()/-减少钱数 long money; cout请输入您要取出的钱数:money; if(rest_money=money) rest_money=rest_money-money; else cout您好!*_* 很抱歉,您的余额不足 !endl;float Account:zhuanzou()/-转走 float money; cout请输入您要转走的钱数:money; if(rest_money=money) rest_money=rest_money-money; return
13、money; else cout您好!*_* 很抱歉,您的余额不足 !endl;void Account:cunru(float x)/-存入 rest_money=rest_money+x;class Bank /-定义银行类public:Bank()/-创建Bank类构造函数void Menu();/-银行账户管理系统菜单void savefile();/-存入文件void Xianshi1();/-显示所有已开通账户的信息void Xianshi2();/-显示单个已开通账户的信息void Geshu();/-显示当前银行账户数目void Kaihu();/-开通银行账户 void xi
14、aohu();/-注销银行账户void deposit();/-存款void withdraw();/-取款void zhuanzhang();/-转账protected:string password;/-密码float rest_money;/-余额Account accoutset10;/-账户类对象数组作为银行成员static int count;/-静态数据成员,用来累计账号的个数;void Bank:Menu()/-银行账户管理系统菜单 cout 欢迎您光临银行账户管理系统!*.*endl; coutendl;coutendl; cout -*-endl;cout |;cout ;
15、cout|endl;cout |; cout 1.开通银行账户 ;cout|endl;cout |;cout ;cout|endl;cout |;cout 2.注销银行账户 ;cout|endl;cout |;cout ;cout|endl;cout |;cout 3.存款 ;cout|endl;cout |;cout ;cout|endl;cout |;cout 4.取款 ;cout|endl;cout |;cout ;cout|endl;cout |;cout 5.转账 ;cout|endl;cout |;cout ;cout|endl; cout |;cout 6.查询账户信息 ;cou
16、t|endl;cout |;cout ;cout|endl; cout -*-endl; cout 请输入您要进行的业务的编码:endl;void Bank:Kaihu()/-开通银行账户 Account acc; acc.Input();accoutsetcount=acc;+count;void Bank:savefile()/-存入文件ofstream fout(D:f2.dat,ios:out|ios:app); if(!fout) coutCannot open output file.n;return; for(int i=0;i=count;i+) fout.write(char
17、*) &accoutseti,sizeof(accoutseti);fout.close();void Bank:Geshu()/-显示当前银行账户数目cout当前已开通的账户数目为:countendl;void Bank:Xianshi1()/-显示所有已开通账户的信息for(int m=0;mcount;m+) accoutsetm.Printf1();void Bank:Xianshi2()/-显示单个已开通账户的信息 string id1;cout您好!*_* 请输入您要显示的账户的身份证号码:id1;for(int m=0;mcount;m+) if(id1=accoutsetm.i
18、d) accoutsetm.Printf1(); elsecout您好!*_* 该账号不存在 !endl; void Bank:xiaohu()/-注销账户 string id1; cout您好!*_* 请输入您要注销的账户的身份证号码:id1;for(int m=0;mcount;m+) if(id1=accoutsetm.id) for(int l=m;lcount;l+) accoutsetl=accoutsetl+1; count=count-1; cout您好!*_* 该账号已被注销 !endl; break; else cout您好!*_* 该账号不存在 !endl;void Bank:deposit()/-存款string id1; cout您好!*_* 请输入您要存款的账户的身份证号码:id1;for(int m=0;mcount;m+) if(id1=accoutsetm.id) accoutsetm.Add(); cout您好!*_* 恭喜您存入成功 !endl; elsecout您好!*_* 该账号不存在 !endl;void Bank:withdraw()/-取款string id1; cout您好!*_* 请输入您要取款的账户的身份证号码:id1;for(int m=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026江苏南通市第一人民医院招聘备案制工作人员102人备考题库及完整答案详解【名校卷】
- 2026广东中山市港口污水处理有限公司招聘合同制工作人员1人备考题库含答案详解(新)
- 2025-2026学年二年级克与千克教学设计
- 2026山东青岛海检冠图检测技术有限公司招聘1人备考题库及参考答案详解【新】
- 2026四川自贡自流井区人力资源服务中心就业见习岗位招募1人备考题库及参考答案详解【夺分金卷】
- 2026甘肃天水市张家川县县直事业单位选调33人备考题库含答案详解【预热题】
- 2026浙江农林大学继续教育学院劳务派遣工作人员招聘1人备考题库及答案详解【名校卷】
- 2026太平洋证券有限责任公司招聘5人备考题库及答案详解【新】
- 2026广东阳江市阳春市招聘乡村公益性岗位12人备考题库(第六批)附参考答案详解【研优卷】
- 2026中国农业科学院饲料研究所新兽药与免疫调控创新团队科研助理招聘2人备考题库【重点】附答案详解
- 第11课 元朝的建立与统一 课件(29张)-七年级 历史下册(统编版)
- DB53∕T 168-2026 用水定额标准规范
- 危重患者转运护理规范课件
- 文献检索与毕业论文写作PPT完整全套教学课件
- 用户需求(URS)管理制度
- 各洋行中英对照
- GB/T 41956-2022碳纤维丝束起毛量的测定
- LY/T 1370-2002原条造材
- 绘画心理分析与治疗教材课件
- 轻钢别墅-建筑流程课件
- 水运三类人员考试总题库-中(多选题汇总)
评论
0/150
提交评论