- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一 寸 光 阴 不 可 轻
一、实验目的
通过设计一个ATM 机模拟操作的程序,全面运用课程的主要知识点,巩固对模块化程序设
计、文件操作的理解,提高软件编程能力。
二、实验要求
要求每人独立完成设计,编写一个ATM 机模拟操作程序。提交实验报告、源程序、程序运
行截图。
1. 程序具有以下功能:
1) 登录系统:
输入卡号(16 位)、密码(6 位),只有卡号、密码同时正确(帐户信息存放在文件中)才能进
入系统;
2) 操作功能:
⚫ 查询:查询帐户的存款余额。按任意键返回主菜单;
⚫ 修改密码:连续输入两次新密码(两次输入结果完全相同)后,新密码取代旧密码,并存
放到帐户信息文件中。之后可返回主菜单;
⚫ 取款:输入50 或100 的倍数模拟为取款金额,请注意:取款金额不得超过帐户余额,
操作后帐户余额应相应减少。之后可返回主菜单;
⚫ 存款:输入50 或100 的倍数模拟为存款金额,现假设存款金额不得超过XXXX0 元,操
作后帐户余额应相应增加。之后可返回主菜单;
⚫ 转帐:先输入一个帐户号( 已保存在帐户信息文件中),然后显示一部分用户名(如:张*
山),储户确认无误后,再输入50 或100 的倍数模拟为转帐金额,请注意:转帐金额不
得超过帐户余额,操作后帐户余额应相应减少。之后可返回主菜单;
⚫ 退出:退出系统。
2. 定义如下结构体类型:
⚫ “ 日期”结构体Date:成员有:year(年)、month(月)、day( 日);
⚫ “帐户”结构体Account :成员有:no(帐户号)、name(姓名)、balance(余额)
⚫ “存取款记录”结构体Record,:成员有:no(帐户号)、date( 日期)、number(数量,可正可
负,正表示存款,负表示取款)
1
一 寸 光 阴 不 可 轻
3. 帐户信息存放在accounts.txt 文件,储户存取款记录保存在records.txt 中;
4. 采用模块化程序设计方法来实现,即main()显示主菜单、调用相关函数实现相
应功能,起主控作用。
5. 附加功能:
⚫ 储户一天内输错密码的次数不能超过3 次,否则无法进入系统;
⚫ 应避免输入存款金额、取款金额为负数等异常情况的出现。
三、程序已经实现的功能点
实验要求均已实现。此外还有:
1. 卡号、密码位数输错时,提示并返回重新输入,
2. 简化取款时的输入
3. 转账时,转账账户为原账户时,提示并返回重新输入
4. 在多个模块中添加了退出功能,无需回到主菜单即可退出系统
5. 在查询模块中加入了存取记录明细查询
四、程序运行截图及说明
1. 登陆模块
1) 卡号不为16 位时,输出提示并返回重新输入
2
一 寸 光 阴 不 可 轻
2) 卡号不存在时,输出提示并返回重新输入
3) 密码位数输错时,输出提示并返回重新输入密码,不作为密码错误处理,也无需重新输
入卡号
4) 密码连续输错三次时,锁定卡号,今日无法登录
3
一 寸 光 阴 不 可 轻
2. 登录后的系统主菜单
3. 查询模块
1) 查询模块主菜单
4
一 寸 光 阴 不 可 轻
2) 查询明细
4. 取款模块
1) 当余额不足50 时,无法进入取款模块
5
一 寸 光 阴 不 可 轻
2) 取款模块主菜单
3) 便捷取款
文档评论(0)