1、功能:实现在银行系统中用户开设自己的账户。基本思想:利用Set_account()函数,用户输入自己的账号,姓名,密码,开户金额,然后进行保存,并记录用户个数加1。具体步骤:先定义几个变量,用来保存用户输入的账号,姓名,密码,开户金额,用户按照相应的提示输入相应的数据,如账号是整型,姓名是字符型等。语句描述如下:1. coutendlid;3. coutnam;5. coutpassw;7. coutm;因为开户金额只能是大于0的数字,所以,需要对输入的数据进行判断,以确保输入无误,当输入都正确后,用Save()函数进行保存,并让记录用户数目的静态成员变量acnum加1,语句描述如下:9. w
2、hile(m=0)10. 11. cout13. 14. consumer * acc = new consumer(id,nam,passw,m);15. accountacnum = acc;16. cout开户成功!17. acnum+;18. save();销户功能:实现删除账户的操作。有开户的,那肯定也有销户的,但是销户函数比开户函数步骤简单些。因为它是把该账号所有的信息都删除,不需要对该账号的信息进行筛选。输入要销户的账号,把该账号的所有信息删除。先输入要销户的账号,然后,进行查找,看该账号是否存在,不存在则返回,存在则删除该账号的所有信息,同时,记录账号数目的静态成员变量acnu
3、m减1,并用save()函数对修改后的数据进行保存,语句描述如下: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帐号不存在!36. return ;37. 38. for(int j=i;jacnum;j+) 39. 40. accountj = accountj+1;41. 42. accountacnum-1=NULL;43. acnum-;44. cout注销成功!45. sav
4、e();体会:这个销户函数步骤虽然简单,但比开户函数更有技巧性,因为它需要判断要销户的账号是否存在。我是定义了一个中间变量flag,先让它等于1,然后用while循环进行查找,看是否有该账号,如果账号存在,则令flag=0,这样就可以通过flag的值来判断是否有相同的账号,语句描述如下:46. int flag = 1;47. while(i50. 51. flag = 0;52. 53. else 54. 55. i+;56. 57. 58. if(flag) 59. 60. 61. cout62. return ;63. 这样就可以判断账号是否存在,并显示出来。当登陆系统和转账时,同样都需
5、要判断账号是否存在,本可以把这段代码编译成一个功能函数,专门用来判断账号是否存在,可以程序变的更简洁,但因为需要修改的地方不少,所以就没去做了,如果下次我还碰到这样的问题,那一定要采用。转账功能:实现用户与用户之间进行转账的操作。首先登陆自己的账号,然后,输入别人的账号以及转账的数目。创建一个transfer()函数,当用户登陆账号后,如果进行转账操作,则调用它。进行转账时首先输入别人账号,这时需要判断输入的账号是否存在,这跟前面销户函数的一样,用while+if来实现,然后输入你要转给别人的钱的数目,这个数目跟前面你开户输入的数目一样,不能为负数,因为不可能你转账给别人,还让别人减少钱,同时
6、这个数目也不能大于你自己账户里金额,如果这些都符合,则进行可以转账,自己的账户减少一定的金额,别人账户增加相应的金额。64. cout66. int flag = 1;67. int i = 0;68. while(i71. flag = 0;72. else i+;73. 74. if(flag) 75. 76. cout77. return ;78. 79. float b;80. coutb;82. while(b83. 84. cout85. cout86. cin87. 88. if(accountx-get_money()b) 89. coutdec_money(b);93. ac
7、counti-add_money(b);94. 这个功能函数虽然没什么难的地方,但它有一些实际问题要考虑,我们转账的时候,不可能会让别人的金额减少,不然,谁还敢去银行存钱。当我们写其他程序时,同样要牢记,函数实现的功能要与实现相符合。4用户登陆功能:定义enter_account()函数,当用户登陆时,调用此函数,用户输入自己的账号,密码后,并可以进行相应的操作。主要步骤:用户登陆时,输入自己的账号,这时,与前面销户函数,转账函数一样,判断账号是否存在,如果存在,则输入账号的密码,如果密码正确,则显示该账号的信息,如:用户的姓名啊,余额啊,同时还可以进行其他的操作,如取钱,存钱,转账,修改密码
8、等。描述语句如下:95. cout请选择你要进行的操作:1)查看信息endl96. 2)取款3)存款4)修改密码97. n;99. switch(n)100. 101. case 1:accounti-display();break;102. case 2:fetchmoney();save();103. case 3:savemoney();104. case 4:change_passwd();105. case 5:transfer(i);106. case 6:return;107. 这个函数功能简单,但是必不可少,用户可以通过这个函数来管理自己的账号。在后面作判断时,因为只可能出现1
9、到6,所以采用switch()来判断,虽然采用if,else的嵌套可以实现,但看着会觉的很复杂。开始菜单功能:显示操作信息,用户可以根据显示的信息,按照提示,进行相应的操作。算法思想:用cout输出操作信息,如输出“1) 用户开户2) 账户登陆3) 帐户注销4) 退出系统”,用户根据上面显示的信息,按照提示,可以进行相应的操作,如输入1,则调用开户函数,用户并可以进行开户操作了,如果输入的不是1到4,则重新输入,描述语句如下:108. cout请你输入相应的操作序号进行操作:109. cout1) 用户开户2) 账户登陆110. 3) 帐户注销4) 退出系统 111. cout112. cin
10、113. while(n4)114. 115. cout请输入正确的操作序号!116. cout117. cin118. 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读取
11、与保存功能:用来保存用户的信息以及登陆时读取用户的信息。利用ofstream,ifstream输入输出流,将用户的信息保存在文件里,创建输入输出流ofstream,ifstream,将用户的信息保存进来,当用户登陆时,则对保存的信息进行读取,看是否有相符合的信息,实现语句如下:/保存130. ofstream outfile(bankdat.dat,ios:out);131. int n=0;132. outfileacnum 133. for(;nn+)134. 135. outfileID136. outfilemoney137. outfilename138. outfilepasswd
12、139. 140. outfile.close();/读取141. ifstream infile(in);142. if(!infile)143. 144. cerr151. for(;152. 153. infile154. infile155. infile156. infile157. accountn-passwd;158. consumer * acc = new consumer(id,nam,passw,m);159. accountn = acc;160. 161. infile.close();162. cout读取资料正常!我很少用文件的形式来保存信息,因为自己对这一块不
13、太懂,感觉很陌生,这一次也是参考了别人的程序才能编写完成,用了这个方法后,发现这种方法还是很有优势的,将信息保存下来后,你把VS关了,下次登陆时,还可以读取到上次的信息,因为它会在文件夹里会生成一个dat类型的文件,将信息保存在这个文件里。以后有机会,我一定要多试试这种方法,好好的掌握它。以上都是YH(银行类)里的功能函数,它们主要是用来实现用户对银行系统的操作,而下面的Consumer(客户类)里的功能的函数,它们则主要是用来实现对自己账户的操作。Consumer(客户类)中的成员函数:1存钱功能:可以对自己的账户进行存款。先输入存钱的数目,当然又要判断输入的数目是否为负数或者0,如果是,则
14、重新输入。存完钱后,你有可能还需要进行操作,因此,后面再作个判断,描述语句如下:163. do164. 165. coutc;167. while(c168. 169. cout171. 172. money=money+c;173. cout操作已成功!174. coutch;176. while(ch!=nch!NYy)177. 178. cout180. 181. 182. while(ch=|ch=);有些程序,虽然实现的功能的差不多,但有的人写的就是好,我觉的好可能就好在他考虑了一般人使用这个程序的习惯,让程序变的更人性化了,别人用起来舒服,顺手,自然感觉就好。所以,我们以后写程序的
15、时候一定要留心观察,注意细节,尽量多站在用户角度思考问题,这样才能做的更好,更受用户欢迎。8取钱功能;可以冲自己的账号进行取钱的操作。这个函数跟前面的存钱函数差不多,先是输入你要取钱的数目,并判断输入的数目是否符合要求,不符合则重新输入。同样,输入完后,可能还需要进行该操作,因此,在后面再作个判断,描述语句如下:183. do184. 185. cout187. while(c188. 189. cout191. 192. money=money+c;193. cout194. cout196. while(ch!197. 198. cout200. 201. 202. while(ch=20
16、3. 9修改密码功能;用于修改用户自己账号的登陆密码。创建change_passwd()函数用以修改密码,当用户输入修改密码的操作时,就可以直接调用它。因为密码一旦丢失,则不能登陆相应的账号,会造成无法挽回的损失,所以,当你在修改密码时,一般都会被要求输入2次,以免产生错误。这个系统也是一样,修改密码时,要求输入2次,如果前后输入的不同,则修改密码失败,重新输入,直到2次输入的密码相同,才修改密码成功。204. string pwd,repwd;205. coutpwd;207. coutrepwd;209. while(pwd!=repwd)210. 211. cout你输入的两次密码不一样
17、,请重新输入!212. cout214. cout216. 217. passwd=pwd;218. cout密码修改成功,请牢记!俗话说的好“不怕一万,就怕万一”,成功可能离你只有一步,但因为你的疏忽也错过。因此我们做任何事情都应该要细心,注意观察,万万不可大意。同时我们在写程序时,还要考虑到别人容易出错的地方,并提醒他们,以免他们出错了而怪你写的程序有问题。三、程序结构:Main()函数包括2个类,图形显示如下:图1:程序的函数结构在YH(银行)中包含8个函数,图形显示如下:图2:在Consumer(客户类)中还包括4个函数,图形显示如下:图3:四、系统运行:这里只显示一下“开户”与“登陆”功能,其它功能用户可以自行调试查看.-1) 用户开户2) 账户登陆3) 帐户注销4) 退出系统1你输入1,并选择了开户。然后按照提示输入账号,姓名,密码等。001liu123100按照上面的操作,在这个银行系统中开户成功。于是,你可以用你刚开的账号进行登陆了。选择2,然后输入自己的账号,密码。2请输入密码:输入完毕后,按回车。如果,账号和密码输入无误的话,则会显示这个账号的信息,表明登陆成功。* 用户姓名:* 帐号: 1 * 余额: 100以上便是登陆后显示的信息,与你在开户时输入的完全一致。五、源程序:1. #include2.
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1