C语言如何模拟ATM机的资料

C语言如何模拟ATM机的资料

ID:47059698

大小:540.63 KB

页数:33页

时间:2019-07-11

C语言如何模拟ATM机的资料_第1页
C语言如何模拟ATM机的资料_第2页
C语言如何模拟ATM机的资料_第3页
C语言如何模拟ATM机的资料_第4页
C语言如何模拟ATM机的资料_第5页
资源描述:

《C语言如何模拟ATM机的资料》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、\一、实验目的通过设计一个ATM机模拟操作的程序,全面运用课程的主要知识点,巩固对模块化程序设计、文件操作的理解,提高软件编程能力。二、实验要求要求每人独立完成设计,编写一个ATM机模拟操作程序。提交实验报告、源程序、程序运行截图。1.程序具有以下功能:1)登录系统:输入卡号(16位)、密码(6位),只有卡号、密码同时正确(帐户信息存放在文件中)才能进入系统;2)操作功能:l查询:查询帐户的存款余额。按任意键返回主菜单;l修改密码:连续输入两次新密码(两次输入结果完全相同)后,新密码取代旧密码,并存放到帐户信息文件中。之后可返回主菜单;l取款:输入50或100的倍数模拟为取款金额,

2、请注意:取款金额不得超过帐户余额,操作后帐户余额应相应减少。之后可返回主菜单;l存款:输入50或100的倍数模拟为存款金额,现假设存款金额不得超过20000元,操作后帐户余额应相应增加。之后可返回主菜单;l转帐:先输入一个帐户号(已保存在帐户信息文件中),然后显示一部分用户名(如:张*山),储户确认无误后,再输入50或100的倍数模拟为转帐金额,请注意:转帐金额不得超过帐户余额,操作后帐户余额应相应减少。之后可返回主菜单;l退出:退出系统。2.定义如下结构体类型:l“日期”结构体Date:成员有:year(年)、month(月)、day(日);l“帐户”结构体Account:成员有:

3、no(帐户号)、name(姓名)、balance(余额)l“存取款记录”结构体Record,:成员有:no(帐户号)、date(日期)、number(数量,可正可负,正表示存款,负表示取款)\1.帐户信息存放在accounts.txt文件,储户存取款记录保存在records.txt中;2.采用模块化程序设计方法来实现,即main()显示主菜单、调用相关函数实现相应功能,起主控作用。3.附加功能:l储户一天内输错密码的次数不能超过3次,否则无法进入系统;l应避免输入存款金额、取款金额为负数等异常情况的出现。二、程序已经实现的功能点实验要求均已实现。此外还有:1.卡号、密码位数输错时,

4、提示并返回重新输入,2.简化取款时的输入3.转账时,转账账户为原账户时,提示并返回重新输入4.在多个模块中添加了退出功能,无需回到主菜单即可退出系统5.在查询模块中加入了存取记录明细查询三、程序运行截图及说明1.登陆模块1)卡号不为16位时,输出提示并返回重新输入\1)卡号不存在时,输出提示并返回重新输入2)密码位数输错时,输出提示并返回重新输入密码,不作为密码错误处理,也无需重新输入卡号3)密码连续输错三次时,锁定卡号,今日无法登录\1.登录后的系统主菜单2.查询模块1)查询模块主菜单\1)查询明细2.取款模块1)当余额不足50时,无法进入取款模块\1)取款模块主菜单2)便

5、捷取款\1)手动输入取款金额输错时,返回重新输入\1)取款后的菜单2)取款完成后选择显示余额\1.存款模块1)解决输入错误问题2)存款成功\1.密码修改模块1)原密码输错时,返回重新输入,不提供退出功能\1)密码位数输错、两次输入新密码不一致时,返回重新输入\1)输入无误时2.转账模块1)转入卡号位数输错时,提示并返回重新输入\1)未查找到该卡号时,输出提示,提供退出功能,键入除*外任意键重新输入2)转入卡号与当前卡号相同时,输出提示\1)输出转入卡账户的部分用户名\1)解决转账金额输错的问题2)转账成功\一、采用的主要技术1.宏定义:由于本程序的printf语句

6、较多,为了便于编写,故用PR代替2.链表:账户信息采用链表结构,内存动态分配,使用内存无限制,可以扩展到所有可以使用的内存3.switch多分支选择结构4.文本文件的读写5.利用time.h头文件,简便地获取系统日期6.system()函数和fflush()函数的简单使用二、设计心得1.各函数的功能要相对独立,逐步求精。2.如果函数的参数为指针,且仅作为输入参数,则应在类型前加const,以防止该指针在函数体内被意外修改附:程序代码/****运行本程序前,请在本程序根目录下建立文件“accounts.txt”,格式如下:*卡号1(16位)姓名1账户余额1密码1*卡号2(16位)姓名2

7、账户余额2密码2*……****/#include#include#include#include#definePRprintftypedefstruct\{shortintyear;shortintmonth;shortintday;}Date;//日期typedefstructAccount{charno[17];charname[20];doublebalance;charpa

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。