C语言模拟ATM机课件.pptx

C语言模拟ATM机课件.pptx

ID:57422441

大小:433.60 KB

页数:33页

时间:2020-08-18

C语言模拟ATM机课件.pptx_第1页
C语言模拟ATM机课件.pptx_第2页
C语言模拟ATM机课件.pptx_第3页
C语言模拟ATM机课件.pptx_第4页
C语言模拟ATM机课件.pptx_第5页
资源描述:

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

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

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

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

4、点实验要求均已实现。此外还有:卡号、密码位数输错时,提示并返回重新输入,简化取款时的输入转账时,转账账户为原账户时,提示并返回重新输入在多个模块中添加了退出功能,无需回到主菜单即可退出系统在查询模块中加入了存取记录明细查询四、程序运行截图及说明1.登陆模块1)卡号不为16位时,输出提示并返回重新输入学海无涯2)卡号不存在时,输出提示并返回重新输入3)密码位数输错时,输出提示并返回重新输入密码,不作为密码错误处理,也无需重新输入卡号4)密码连续输错三次时,锁定卡号,今日无法登录学海无涯2.登录后的系统主菜单3.查询模块1)查询模块主菜单学海无涯2)查询明细

5、4.取款模块1)当余额不足50时,无法进入取款模块学海无涯2)取款模块主菜单3)便捷取款学海无涯4)手动输入取款金额输错时,返回重新输入学海无涯5)取款后的菜单6)取款完成后选择显示余额学海无涯5.存款模块1)解决输入错误问题2)存款成功学海无涯6.密码修改模块1)原密码输错时,返回重新输入,不提供退出功能学海无涯2)密码位数输错、两次输入新密码不一致时,返回重新输入学海无涯3)输入无误时7.转账模块1)转入卡号位数输错时,提示并返回重新输入学海无涯2)未查找到该卡号时,输出提示,提供退出功能,键入除*外任意键重新输入3)转入卡号与当前卡号相同时,输出提

6、示学海无涯4)输出转入卡账户的部分用户名学海无涯5)解决转账金额输错的问题6)转账成功学海无涯五、采用的主要技术宏定义:由于本程序的printf语句较多,为了便于编写,故用PR代替链表:账户信息采用链表结构,内存动态分配,使用内存无限制,可以扩展到所有可以使用的内存switch多分支选择结构文本文件的读写利用time.h头文件,简便地获取系统日期system()函数和fflush()函数的简单使用六、设计心得各函数的功能要相对独立,逐步求精。如果函数的参数为指针,且仅作为输入参数,则应在类型前加const,以防止该指针在函数体内被意外修改附:程序代码/*

7、***运行本程序前,请在本程序根目录下建立文件“accounts.txt”,格式如下:*卡号1(16位)姓名1账户余额1密码1*卡号2(16位)姓名2账户余额2密码2*……****/#include#include#include#include#definePRprintftypedefstruct学海无涯{shortintyear;shortintmonth;shortintday;}Date;//日期typedefstructAccount{charno[17];charna

8、me[20];doublebalance;charpassword[7];str

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

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

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