ImageVerifierCode 换一换
格式:DOCX , 页数:38 ,大小:425.37KB ,
资源ID:13485252      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/13485252.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言模拟ATM机Word文件下载.docx)为本站会员(b****0)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言模拟ATM机Word文件下载.docx

1、转帐金额不得超过帐户余额,操作后帐户余额应相应减少。 退出:退出系统。2. 定义如下结构体类型: “日期”结构体Date:成员有:year(年)、month(月)、day(日); “帐户”结构体Account:no(帐户号)、name(姓名)、balance(余额) “存取款记录”结构体Record,:no(帐户号)、date(日期)、number(数量,可正可负,正表示存款,负表示取款)3. 帐户信息存放在accounts.txt文件,储户存取款记录保存在records.txt中;4. 采用模块化程序设计方法来实现,即main()显示主菜单、调用相关函数实现相应功能,起主控作用。5. 附加功

2、能: 储户一天内输错密码的次数不能超过3次,否则无法进入系统; 应避免输入存款金额、取款金额为负数等异常情况的出现。三、 程序已经实现的功能点实验要求均已实现。此外还有:1. 卡号、密码位数输错时,提示并返回重新输入,2. 简化取款时的输入3. 转账时,转账账户为原账户时,提示并返回重新输入4. 在多个模块中添加了退出功能,无需回到主菜单即可退出系统5. 在查询模块中加入了存取记录明细查询四、 程序运行截图及说明1. 登陆模块1) 卡号不为16位时,输出提示并返回重新输入2) 卡号不存在时,输出提示并返回重新输入3) 密码位数输错时,输出提示并返回重新输入密码,不作为密码错误处理,也无需重新输

3、入卡号4) 密码连续输错三次时,锁定卡号,今日无法登录2. 登录后的系统主菜单3. 查询模块1) 查询模块主菜单2) 查询明细4. 取款模块1) 当余额不足50时,无法进入取款模块2) 取款模块主菜单3) 便捷取款4) 手动输入取款金额输错时,返回重新输入5) 取款后的菜单6) 取款完成后选择显示余额5. 存款模块1) 解决输入错误问题2) 存款成功6. 密码修改模块1) 原密码输错时,返回重新输入,不提供退出功能2) 密码位数输错、两次输入新密码不一致时,返回重新输入3) 输入无误时7. 转账模块1) 转入卡号位数输错时,提示并返回重新输入2) 未查找到该卡号时,输出提示,提供退出功能,键入

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

5、t,以防止该指针在函数体内被意外修改附:程序代码/* 运行本程序前,请在本程序根目录下建立文件“accounts.txt”,格式如下:* 卡号1(16位) 姓名1 账户余额1 密码1* 卡号2(16位) 姓名2 账户余额2 密码2* */#include stdlib.hstring.htime.h#define PR printftypedef struct short int year; short int month; short int day;Date;/日期typedef struct Account char no17; char name20; double balance;

6、char password7; struct Account* next;Account; Date date; double number;Record;/记录Account *head = NULL;/账户信息链表表头Account *now_acc = NULL;/当前账户 /*函数申明*/void InitializeAccount();/导入账户信息/-char LockAccountTopic(const char *no);/检测账户是否被锁定void LockAccount(const char *no);/锁定账户void Login();/登录Account* Findby

7、No(const char *no);/查找卡号对应账户信息在链表中的地址void Demand();/查询主菜单void PrintBalance();/输出余额void Printetail();/输出明细void Modifiy();/修改密码void Withdrawal();/取款主界面void WithdrawalOt(long money);/取款void Depositing();/存款void Transfer();/转账char *CoverUpName(const char *name);/掩盖部分用户名void Log(double money, const char

8、*no);/将存款记录写入文件中void Save();/保存账号信息void FreeData();/释放链表空间int main() char choose; InitializeAccount(); Login(); do system(cls); PR(tt ntt 请选择服务 ntt+-+-+ +-+-+ntt|5|33转 账| |查 询32|1|ntt+-+-+ +-+-+nntt +-+-+ntt |取 款32|2|ntt +-+-+nntt |存 款32|3|ntt|0|33退出系统| |修改密码32|4|n请选择服务: fflush(stdin); choose = getc

9、har(); switch (choose) case 1: Demand(); break;/查询2 Withdrawal();3 Depositing();4 Modifiy();5 Transfer();0 FreeData(); return 0;/退出 default: printf(输入错误,请重新选择n /解决用户可能的输入错误 system(pause while (1);/*导入账户信息*/void InitializeAccount() FILE *fp; Account temp; PR(系统初始化中,请稍侯.n if (!(fp = fopen(accounts.txt, r)07/响铃读取帐户信息失败,请在本程序根目录建立帐户信息文件(accounts.txt)。格式如下:n卡号1(16位) 姓名1 账户余额1 密码1n卡号2(16位) 姓名2 账户余额2 密码2nn exit(0); while (fscanf(fp, %s %s %lf %s, temp.no, temp.name, &temp.balance, temp.password) = 4) /读入账户信息 Account *t = head; head = (Account*)malloc(sizeof(Account); *head =

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1