ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:56.89KB ,
资源ID:5646014      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5646014.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C++课程设计报告模拟银行管理系统.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C++课程设计报告模拟银行管理系统.docx

1、C+课程设计报告模拟银行管理系统湖南文理学院计算机科学与技术学院实践教学(实验、课程设计、实习)报告课程名称 C+语言程序设计 (课程设计) 设计选题: 模拟银行管理系统 指导老师: 专业班级: 姓 名: 学 号: 同组人员: 完成日期: 2008年9月 附 件: 1.报告电子版; 2.相关源代码和数据原始电子版文件 说明:结论(通过、不通过)作为相关教环节考核必要依据;格式不符合要求;数据不实,不予通过。报告和电子数据必须作为实验现象重复的关键依据。指导教师评语:审查结论 签名: 年 月 日学术诚信声明本人声明:所呈交的报告(含电子版及数据文件)是我个人在导师指导下进行设计工作及取得的研究结

2、果。尽我所知,除了文中特别加以标注或致谢中所罗列的内容以外,报告中不包含其他人己经发表或撰写过的研究结果;也不包含其它教育机构使用过的材料。与我一同工作的同志对本研究所做的任何贡献均己在报告中做了明确的说明并表示了谢意。报告资料及实验数据若有不实之处,本人愿意接受本教学环节“不及格”和“重修或重做”的评分结论并承担相关一切后果。本人签名: 日期: 年 月 日一、课题:模拟银行管理系统模拟银行的管理系统,用户登陆银行管理系统时,可以进行开户,销户,修改登录密码,存钱,取钱,转账等操作,并把用户的资料保存起来,以便于下次登陆。二、设计功能、算法、体会:系统由2个类构成,YH(银行类)和Consum

3、er(客户类),Consumer(客户类)是YH(银行类)的公有继承类。YH(银行类)中有实现登陆系统,开户,销户,转账,退出系统等功能函数,Consumer(客户类)中有实现存钱,取钱,修改个人账号密码,显示个人账号信息等功能函数。因为Consumer(客户类)是YH(银行类)的公有继承类,所以,一个用户只需创建一个Consumer(客户类)对象,当用户进行开户,销户等操作时,可以直接调用YH(银行类)的成员函数。YH(银行类)中的成员函数:1 开户功能:功能:实现在银行系统中用户开设自己的账户。基本思想:利用Set_account()函数,用户输入自己的账号,姓名,密码,开户金额,然后进行

4、保存,并记录用户个数加1。具体步骤:先定义几个变量,用来保存用户输入的账号,姓名,密码,开户金额,用户按照相应的提示输入相应的数据,如账号是整型,姓名是字符型等。语句描述如下:1. coutendlid;3. coutendlnam;5. coutendlpassw;7. coutendlm;因为开户金额只能是大于0的数字,所以,需要对输入的数据进行判断,以确保输入无误,当输入都正确后,用Save()函数进行保存,并让记录用户数目的静态成员变量acnum加1,语句描述如下:9. while(m=0)10. 11. cout请输入正确的数字!m;13. 14. consumer * acc =

5、new consumer(id,nam,passw,m); 15. accountacnum = acc;16. cout开户成功!endl; 17. acnum+;18. save();销户功能:功能:实现删除账户的操作。有开户的,那肯定也有销户的,但是销户函数比开户函数步骤简单些。因为它是把该账号所有的信息都删除,不需要对该账号的信息进行筛选。基本思想:输入要销户的账号,把该账号的所有信息删除。具体步骤:先输入要销户的账号,然后,进行查找,看该账号是否存在,不存在则返回,存在则删除该账号的所有信息,同时,记录账号数目的静态成员变量acnum减1,并用save()函数对修改后的数据进行保存,

6、语句描述如下:19. int flag = 1; 20. int i = 0; 21. while(iget_id() 24. 25. flag = 0; 26. 27. else 28. 29. i+; 30. 31. 32. if(flag) 33. 34. 35. cout帐号不存在!endlendl; 36. return ; 37. 38. for(int j=i;jacnum;j+) 39. 40. accountj = accountj+1; 41. 42. accountacnum-1=NULL; 43. acnum-; 44. cout注销成功!endl; 45. save(

7、);体会:这个销户函数步骤虽然简单,但比开户函数更有技巧性,因为它需要判断要销户的账号是否存在。我是定义了一个中间变量flag,先让它等于1,然后用while循环进行查找,看是否有该账号,如果账号存在,则令flag=0,这样就可以通过flag的值来判断是否有相同的账号,语句描述如下:46. int flag = 1;47. while(iget_id() 50. 51. flag = 0; 52. 53. else 54. 55. i+; 56. 57. 58. if(flag) 59. 60. 61. cout帐号不存在!endlendl; 62. return ; 63. 这样就可以判断账

8、号是否存在,并显示出来。当登陆系统和转账时,同样都需要判断账号是否存在,本可以把这段代码编译成一个功能函数,专门用来判断账号是否存在,可以程序变的更简洁,但因为需要修改的地方不少,所以就没去做了,如果下次我还碰到这样的问题,那一定要采用。转账功能:功能:实现用户与用户之间进行转账的操作。基本思想:首先登陆自己的账号,然后,输入别人的账号以及转账的数目。具体步骤:创建一个transfer()函数,当用户登陆账号后,如果进行转账操作,则调用它。进行转账时首先输入别人账号,这时需要判断输入的账号是否存在,这跟前面销户函数的一样,用while+if来实现,然后输入你要转给别人的钱的数目,这个数目跟前面

9、你开户输入的数目一样,不能为负数,因为不可能你转账给别人,还让别人减少钱,同时这个数目也不能大于你自己账户里金额,如果这些都符合,则进行可以转账,自己的账户减少一定的金额,别人账户增加相应的金额。语句描述如下:64. coutid; 66. int flag = 1; 67. int i = 0; 68. while(iget_id() 71. flag = 0; 72. else i+; 73. 74. if(flag) 75. 76. cout帐号不存在!endlendl; 77. return ;78. 79. float b;80. coutendlb;82. while(b=0)83

10、. 84. cout请输入正确的数字!endl;85. cout;86. cinb;87. 88. if(accountx-get_money()b) 89. cout对不起,金额不够!dec_money(b);93. accounti-add_money(b);94. 体会:这个功能函数虽然没什么难的地方,但它有一些实际问题要考虑,我们转账的时候,不可能会让别人的金额减少,不然,谁还敢去银行存钱。当我们写其他程序时,同样要牢记,函数实现的功能要与实现相符合。4用户登陆功能:基本思想:定义enter_account()函数,当用户登陆时,调用此函数,用户输入自己的账号,密码后,并可以进行相应的

11、操作。主要步骤:用户登陆时,输入自己的账号,这时,与前面销户函数,转账函数一样,判断账号是否存在,如果存在,则输入账号的密码,如果密码正确,则显示该账号的信息,如:用户的姓名啊,余额啊,同时还可以进行其他的操作,如取钱,存钱,转账,修改密码等。描述语句如下:95. cout请选择你要进行的操作:endl1)查看信息endl96. 2)取款endl3)存款endl4)修改密码endl97. 5)转账endl6)返回n;99. switch(n)100. 101. case 1:accounti-display();break;102. case 2:accounti-fetchmoney();s

12、ave();break;103. case 3:accounti-savemoney();save();break;104. case 4:accounti-change_passwd();save();break;105. case 5:transfer(i);save();break;106. case 6:return;107. 体会:这个函数功能简单,但是必不可少,用户可以通过这个函数来管理自己的账号。在后面作判断时,因为只可能出现1到6,所以采用switch()来判断,虽然采用if,else的嵌套可以实现,但看着会觉的很复杂。开始菜单功能:功能:显示操作信息,用户可以根据显示的信息,

13、按照提示,进行相应的操作。算法思想:用cout输出操作信息,如输出“1) 用户开户2) 账户登陆3) 帐户注销4) 退出系统”,用户根据上面显示的信息,按照提示,可以进行相应的操作,如输入1,则调用开户函数,用户并可以进行开户操作了,如果输入的不是1到4,则重新输入,描述语句如下:108. coutendl请你输入相应的操作序号进行操作:endl;109. cout1) 用户开户endl2) 账户登陆endl110. 3) 帐户注销endl4) 退出系统 endl;111. cout;112. cinn;113. while(n4)114. 115. cout请输入正确的操作序号!endl;1

14、16. cout;117. cinn;118. 119. switch(n)120. 121. case 1: set_account();122. break;123. case 2:enter_account();124. break;125. case 3: del_account();126. break;127. case 4: exitYH();128. break;129. 体会:这个功能是整个程序的开始,通过它来调用其他功能函数进行其他的操作,本来可以把它做的更美观点的,但感觉没什么实际意思就没去修改了。6读取与保存功能:功能:用来保存用户的信息以及登陆时读取用户的信息。算法思

15、想:利用ofstream,ifstream输入输出流,将用户的信息保存在文件里,具体步骤:创建输入输出流ofstream,ifstream,将用户的信息保存进来,当用户登陆时,则对保存的信息进行读取,看是否有相符合的信息,实现语句如下:/保存130. ofstream outfile(bankdat.dat,ios:out);131. int n=0;132. outfileacnum ;133. for(;nacnum;n+)134. 135. outfileID ;136. outfilemoney ;137. outfilename ;138. outfilepasswd ;139. 1

16、40. outfile.close();/读取141. ifstream infile(bankdat.dat,ios:in);142. if(!infile)143. 144. cerr读取错误,无资料中!acnum;151. for(;nid;154. infilem;155. infilenam;156. infilepassw;157. accountn-passwd;158. consumer * acc = new consumer(id,nam,passw,m); 159. accountn = acc; 160. 161. infile.close();162. cout读取资

17、料正常!endl;体会:我很少用文件的形式来保存信息,因为自己对这一块不太懂,感觉很陌生,这一次也是参考了别人的程序才能编写完成,用了这个方法后,发现这种方法还是很有优势的,将信息保存下来后,你把VS关了,下次登陆时,还可以读取到上次的信息,因为它会在文件夹里会生成一个dat类型的文件,将信息保存在这个文件里。以后有机会,我一定要多试试这种方法,好好的掌握它。以上都是YH(银行类)里的功能函数,它们主要是用来实现用户对银行系统的操作,而下面的Consumer(客户类)里的功能的函数,它们则主要是用来实现对自己账户的操作。Consumer(客户类)中的成员函数:1存钱功能:功能:可以对自己的账户

18、进行存款。算法思想:先输入存钱的数目,当然又要判断输入的数目是否为负数或者0,如果是,则重新输入。存完钱后,你有可能还需要进行操作,因此,后面再作个判断,描述语句如下:163. do164. 165. coutendl你要存多少钱:c;167. while(c=0)168. 169. cout请输入正确的数字!c;171. 172. money=money+c;173. cout操作已成功!endl;174. cout是否要继续该项操作:(Y/N) ch;176. while(ch!=n&ch!=N&ch!=Y&ch!=y)177. 178. cout是否要继续该项操作:(Y/N)ch;180

19、. 181. 182. while(ch=y|ch=Y);体会:有些程序,虽然实现的功能的差不多,但有的人写的就是好,我觉的好可能就好在他考虑了一般人使用这个程序的习惯,让程序变的更人性化了,别人用起来舒服,顺手,自然感觉就好。所以,我们以后写程序的时候一定要留心观察,注意细节,尽量多站在用户角度思考问题,这样才能做的更好,更受用户欢迎。8取钱功能;功能:可以冲自己的账号进行取钱的操作。算法思想:这个函数跟前面的存钱函数差不多,先是输入你要取钱的数目,并判断输入的数目是否符合要求,不符合则重新输入。同样,输入完后,可能还需要进行该操作,因此,在后面再作个判断,描述语句如下:183. do184

20、. 185. coutendl你要存多少钱:c;187. while(c=0)188. 189. cout请输入正确的数字!c;191. 192. money=money+c;193. cout操作已成功!endl;194. cout是否要继续该项操作:(Y/N) ch;196. while(ch!=n&ch!=N&ch!=Y&ch!=y)197. 198. cout是否要继续该项操作:(Y/N)ch;200. 201. 202. while(ch=y|ch=Y);203. 9修改密码功能;功能:用于修改用户自己账号的登陆密码。算法思想:创建change_passwd()函数用以修改密码,当用

21、户输入修改密码的操作时,就可以直接调用它。因为密码一旦丢失,则不能登陆相应的账号,会造成无法挽回的损失,所以,当你在修改密码时,一般都会被要求输入2次,以免产生错误。这个系统也是一样,修改密码时,要求输入2次,如果前后输入的不同,则修改密码失败,重新输入,直到2次输入的密码相同,才修改密码成功。描述语句如下:204. string pwd,repwd;205. coutpwd;207. coutrepwd;209. while(pwd!=repwd)210. 211. cout你输入的两次密码不一样,请重新输入!endl;212. coutpwd;214. coutrepwd;216. 217

22、. passwd=pwd;218. cout密码修改成功,请牢记!1-你输入1,并选择了开户。然后按照提示输入账号,姓名,密码等。-读取错误,无资料中!请你输入相应的操作序号进行操作:1) 用户开户2) 账户登陆3) 帐户注销4) 退出系统请选择1请输入开户号:001请输入开户人姓名:liu请输入开户密码:123请输入存入金额:100开户成功!-按照上面的操作,在这个银行系统中开户成功。于是,你可以用你刚开的账号进行登陆了。选择2,然后输入自己的账号,密码。-读取资料正常!请你输入相应的操作序号进行操作:1) 用户开户2) 账户登陆3) 帐户注销4) 退出系统请选择2请输入帐号:001请输入密码:123-输入完毕后,按回车。如果,账号和密码输入无误的话,则会显示这个账号的信息,表明登陆成功。-* 用户姓名:liu* 帐号: 1 * 余额: 100*-以上便是登陆后显示的信息,与你在开户时输入的完全一致。 五、源程序:1. #include2.

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

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