C语言atm机取款系统需求文档,C语言模拟ATM机(2020整理)(33页)-原创力文档

一、实验目的

通过设计一个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) 便捷取款

6

4) 手动输入取款金额

输错时,返回重新输入

7

5) 取款后的菜单

6) 取款完成后选择显示余额

8

5. 存款模块

1) 解决输入错误问题

2) 存

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值