C++学习笔记(第四章 函数的应用及多文件组织 之三)

本文详细介绍了如何从无到有构建一个银行系统项目,旨在通过实际操作提高编程技能和项目管理能力。从设计框架、引入函数优化程序结构,到将程序模块化组织,读者将跟随步骤完成从概念到实现的过程,体验项目开发的全过程。
摘要由CSDN通过智能技术生成

【题目1-真正的项目:银行系统】

这是我们要做的一个真正的项目!涉及到的技术都用过了,只不过,程序真的要长得多了。
  在学习中,总是想要些成就感的。当你没有做过一些事情的时候,总是不能知道所学知识究竟能干些什么。在学习过程中,完成一个像样的项目,那是一件很酷的事情,也让我们更有激情。做好思想准备,中间可能会有些困难,但相信沉下心来还是可以完成的。
  要做项目的需求最好能和大家的生活实践联系起来,我们想得到。另外,还能和我们的课程同步上。两厢结合,我们就开个银行,做个自动取款机吧。
  如果没有用过自动取款机,先用你的银行卡取一次钱去吧,权当作调研。
  我们首先插卡,输密码。做纯软件模拟,我们没有读卡机,好吧,认为卡已经插好了。
  为了让大家一点一点地做出来,我试图分解其中的工作,我们逐渐完善,“增量式”地完成工作。你可以每做完一个任务,就发一篇博文,将这样一个成长的阶段记录下来。
练习1——搭一个框架
  你的程序运行后的界面如图:
  

  • 用const定义全局的常变量PASSWORD,作为银行卡的密码(真银行卡的密码可不是这样,它要分别记住各个帐户的密码,我们现在认为所有卡都这个密码)。
  • 判断输入的密码是否正确,如果不正确,提示:“你这个笨脑瓜!”并退出程序,(注意,真银行可不敢骂人,你的银行这样写写无妨。)否则,继续下面的工作。
  • 用户如图输入功能选择,根据给出的答复,用switch多分支完成下面的显示:
    • a. 输入1,显示“您的余额是xxxx.xx元。”(想过瘾,用你觉得足够大的数当余额)
    • b. 输入2-4的提示自编;
    • c. 输入0,显示“谢谢,欢迎下次再来!”(好有礼貌)
    • d. 输入不是0-4,提示“输错,不要急!”
  只要输入不是0,循环处理业务。
  写完程序后,请将之发布为博文(程序中的注释自己加,程序前要有,中间也来些必要的)。


练习2——引入函数改善程序结构
  1、数据
  仍然只支持一位用户,所以用户帐号不必存储。
  要用全局变量存储:(1)用户密码(由于支持改密码功能,所以用变量,暂先用整型,声明时赋初值);(2)帐户余额(用浮点数表示,声明时赋初值)
  2、在输入密码环节,实现有限次密码输入的限制,如果三次都没有输入正确,程序将直接退出,不允许用户继续操作。
查验密码功能做成一个函数。例如:

bool pass()
{
  int 次数=0;
  bool 是否密码正确=false;   //先假设密码不正确,以便能进入do-while循环
  do{
    输入密码;
    次数++;
    if(相符)是否密码正确=true;
  }while(密码不正确且尝试次数不足3次);
  return 是否密码正确;  //上面密码正确为true,反之……
}

3、main()函数的结构将如下所示,work函数用于处理业务。

main()
{
  ……
    if(pass())
        work();
    else
        输出“请到柜台办理密码查询后再来”。
    return 0;
}    

4、办理业务的函数work的结构如下:

void work()
{
  //循环显示功能菜单:1.查询、2.取款、3.存款、4.转帐、5.改密、0.退出
  //选择后办理各种业务,再显示菜单,直到选择了0。
 
}

其中,各项业务分别编制一个函数完成。提示功能菜单(1.查询、2.取款、3.存款、4.转帐、5.改密、0.退出)后,由用户输入功能选择,用switch多分支完成对应的功能(有的功能依然只输出一句话提示即可)。图示给出建议(鼓励在合理范围内别出心裁):

  • 输入1(查询),调用函数showbalance(),显示“您的余额是xxxx.xx元。”
  • 输入2(取款),调用drawmoney(),完成取款。要求输入取款金额,若余额不够,提示不能取款,否则,帐户余额减少。取款后给出提示:“你的余额还有XXX.XX元”。
    在实际业务中,还涉及到计算的问题。本题暂不考虑,作为拓展建议,可以在此处考虑计息。
  • 输入3(存款):调用deposit(),完成存款,余额增加(过瘾吧,想存多少存多少)。存款后给出提示:“你的余额是XXX.XX元”。
  • 输入4(转帐):调用transferAccounts(),完成转帐,只支持转出功能。要求输入对方帐号和转帐金额,若金额充足,完成转帐,当前帐户的余额减少,对方帐户余额增加。由于本题只有一个帐号,故对方帐户增加的操作先不做了。
  • 输入5(改密):调用updatePassword()改变密码。要求先输入旧密码,对了以后才能改密。新密码要输入两次,只有两次完全相同时才可以完成修改。
  • 输入0,显示“谢谢,欢迎下次再来!”退出循环,返回调用函数。
  • 输入不是0-5,提示“输错了,不要急!”
  以后我们再做支持多个帐户的银行系统。


练习3——将程序用多文件组织
  将任务2中的代码,涉及密码、帐户的函数放在一个文件中,完成各项功能的函数放在另一个文件中,main函放也单独一个文件。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值