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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言课程设计报告ATM机模拟操作附源码.docx

1、C语言课程设计报告ATM机模拟操作附源码C语言-ATM机模拟操作程序实现功能点:a.查询:查询XX的存款余额。按任意键返回主菜单;b.取款:输入100、500、1000、2000、5000、其它金额为取款金额,取款金额不超过XX余额,操作后XX余额应相应减少,之后可返回主菜单;c.存款:输入100、500、1000、2000、5000、其它金额为存款金额,存款金额不超过20000元,操作后XX余额应相应增加。之后可返回主菜单;d.转帐:输入一个XX号,程序判断与文件信息是否相符,储户确认无误后,再输入100、500、1000、2000、5000、其它金额为转帐金额,转帐金额不得超过XX余额,操

2、作后XX余额应相应减少。之后可返回主菜单;e.修改密码:连续输入两次新密码(两次输入结果完全一样)后,新密码取代旧密码,并存放到XX信息文件中。之后可返回主菜单;f.退出:退出系统;g.帮助:增加趣味性;h.存款时,可正可负,正表示存款,负表示取款;i.XX信息存放在accounts.txt文件,储户存取款记录保存在records.txt中;(在目录下创立这两个文件)j.采用模块化程序设计方法来实现,即main()显示主菜单、调用相关函数实现相应功能,起主控作用;k.储户一天内输错密码的次数不能超过3次,否那么无法进入系统;l.有效防止输入存款金额、取款金额为负数等异常情况的出现。较为突出的功

3、能是注册、登录时账号密码的核对验证;存款转出转入金额的核对。是否超过余额,是否不符合格式,是否为冲突操作。2程序运行截图及说明每图限50到100字;进入程序,menu1可选择登录、注册功能。选择登录,输入账号密码,通过输入内容与文件的匹配,判断是否成功登录。假设登录失败,那么重新选择。选择注册,输入账号密码,写入文件中。进入menu2,有五大功能选择,输入对应的序列号进入。余额查询功能输出账号所对应的余额。取款功能,需要安装要求取出格式化的金额。存款功能,选择金额,假设超过存款,自动报错。存储成功后,在屏幕上显示余额并可在txt中看到对应数目的增加。修改密码功能,输入当前密码,输入新密码,并进

4、展确认。即修改成功。转账功能,输入对方卡号,核程序核对卡号是否存在,选择金额转账,对应存款的减少会反映在屏幕的余额上。退出功能,任意键退出程序。帮助功能,介绍了本程序的相关信息。3采用的主要技术限150到200字;答:主要采用模块化管理代码。使用构造体对文本信息进展操作、运用文件操作相关函数如fwrite()、fread()、fgets()、fputs()、fgetc()、fputc()、fopen()、fclose().并使用指针操作数值。附:程序代码#include#include#include#include#include#defineN 3void enterzhanghao();

5、 /ATM账号输入函数void inputmima(); /密码输入函数void menu(); /操作界面void Withdraw(); /取款函数void daly(); /延时函数void yuer(); /余额查询函数void Desposit(); /存款函数int quit(); /退出界面函数void change(); /密码修改void read(); /文件读取函数void write(); /文件写入函数void write2(float h); /流水账函数void tran_account();/转账函数void enter();/登录函数void flesh();

6、/注册函数void help();/帮助typedefstructint num;int password;double accounte;atm;atm ATMN = 10001, 111111, 10000 , 10002, 222222, 20000 , 10003, 333333, 30000 ;typedefstructint year;int month;int day;riqi;int k;int main() enterzhanghao();/ATM账号输入函数void enterzhanghao() read(); printf(ttttt*n); printf(ttttt-

7、 欢送使用ATM机模拟操作的程序 1、登录 2、注册 -n); printf(ttttt*n); printf(请输入对应序号:); int k; scanf(%d, &k);switch (k)case 1:enter(); break;case 2:flesh(); break; void enter() system(cls);int user; printf(请输入账号:); scanf(%d, &user);if (user = 0) printf(ttttt* 账号错误 *tttttn); enterzhanghao(); elseif (user != (ATMk.num) fo

8、r (k = 1; k N; k+) if (user = (ATMk.num) inputmima(); system(cls); printf(ttttt* 账户不存在,请从新输入 *tttttn); enterzhanghao(); elseinputmima(); void flesh() system(cls); printf(ttttt请输入账号:); scanf(%f, &ATMk.num); printf(ttttt请输入密码:); scanf(%f, &ATMk.password); write(); /密码输入函数void inputmima()int code;int t

9、emp = 3; read(); system(cls); printf(ttttt* 请输入密码 *ttttn); scanf(%d, &code);while (code != ATMk.password) temp-; system(cls); printf(ttttt* 密码错误,请重新输入 *ttttn); printf(ttttt* 您还有: ); printf(%d, temp); printf( 次时机 *n); scanf(%d, &code);if (temp = 1) system(cls); printf(ttttt* 您已经 3 次输入密码错误 *ttttn); pr

10、intf(ttttt* 系统将退出操作 *ttttn); daly(); enterzhanghao(); menu();/操作界面void menu() system(cls);int h = 1, x;while (h) printf(ttttt-n); printf(n); printf(ttttt1、t查询余额n ); printf(ttttt2、t取款n ); printf(ttttt3、t存款n ); printf(ttttt4、t修改密码 n ); printf(ttttt5、t转账 n ); printf(ttttt6、t退出登录n ); printf(ttttt7、t帮助 n

11、 ); printf(n); printf(ttttt-nn ); scanf(%d, &x);switch (x) case 1:yuer(); break;case 2:Withdraw(); break;case 3:Desposit(); break;case 4:change(); break;case 5:tran_account(); break;case 6:quit(); h = quit(); break;case 7:help(); break; /取款函数void Withdraw() system(cls);float i;int y; printf(ttttt请输入

12、你要取款的金额:n); printf(ttttt- n); printf(n); printf(ttttt1、t100n); printf(ttttt2、t200n ); printf(ttttt3、t500n ); printf(ttttt4、t1000n ); printf(ttttt5、t2000n ); printf(ttttt6、t其他金额n ); printf(n); printf(ttttt- n); printf(ttttttt请输入对应序列号:n ); scanf(%d, &y); system(cls);switch (y) case 1:i = 100; break;ca

13、se 2:i = 200; break;case 3:i = 500; break;case 4:i = 1000; break;case 5:i = 2000; break;case 6:scanf(%f, &i); break;default: printf(ttttt請重新輸入); Withdraw();break; if (i 0; h-) for (k = 300; k0; k-); /余额查询函数void yuer() system(cls); printf(ttttt账号%4d, 余额:%.2lfnnnnn, ATMk.num, ATMk.accounte);/存款函数void

14、Desposit() system(cls);int i; printf(ttttt请将钞票整齐放入!nn); printf(ttttt请输入你要存的金额:); scanf(%d, &i);if (i % 100 = 0) printf(ttttt存款成功!);else printf(ttttt数额必须是100的整数倍!请重新放入!); daly(); Desposit(); ATMk.accounte = i + ATMk.accounte; printf(%f, ATMk.accounte); write(); write2(i);/退出函数int quit() system(cls);i

15、nt i; printf(ttttt谢谢你的使用!nn); i = 0;return i;/密码修改void change() daly(); system(cls);int password1, password2, password3; printf(ttttt请输入旧密码:); scanf(%d, &password1); printf(n);if (password1 = ATMk.password) loop:printf(ttttt请输入新的密码:); scanf(%d, &password2); printf(n); printf(ttttt请再次输入新的密码:); scanf(

16、%d, &password3);if (password2 = password3) ATMk.password = password2; printf(tttttn密码修改成功!n); else printf(tttttn密码不一致!n); printf(ttttt请重新输入!n);goto loop; else printf(ttttt输入错误n); change(); write();/文件读取函数void read()int i;FILE *fp; fp = fopen(accounts.txt, r);if (fp = NULL) printf(ttttt翻开文件失败n);retur

17、n; for (i = 0; iN; i+) fscanf(fp, %d, &(ATMi.num); fscanf(fp, %d, &(ATMi.password); fscanf(fp, %lfn, &(ATMi.accounte); fclose(fp);/accounts文件写入函数void write()int i;FILE *fp; fp = fopen(accounts.txt, w);if (fp = NULL) printf(ttttt翻开文件失败n);return; for (i = 0; itm_year + 1900); fprintf(fp, %-3d, lt-tm_m

18、on); fprintf(fp, %-3d, lt-tm_mday); fprintf(fp, %-5lfn, h); fclose(fp);/转账函数void tran_account()int other_num10;int i, c, q, tran; /c用来判断转账是否继续,q用来判断用户行为,tran用来存储转账金额system(CLS); printf(ntttttttt0.返回菜单); printf(nnnnnnttt请输要对方的账号: ); scanf(%d, other_num10); /输入对方账号if (other_num10 = ATMk.num) /判断是否为自身账

19、号 system(CLS); printf(nnnnnnnn tt对不起,不能给自己转账,请重新输入账号!n); printf(nnn按任意键返回!); _getch(); system(CLS); tran_account(); /递归调用 elsewhile (1) for (i = 0; i = 100 & tran % 100 = 0) /判断是否为整百/数并且大于100的数 if (tran = ATMk.accounte)/取款数是否不超过余额 if (tran = 3000) /判断是否超过3000 system(CLS); ATMk.accounte -= tran; ATMk

20、.accounte += tran; menu(); /调用save_info,存储信息printf(nnnnnnttt 交易成功!n); printf(nnnnntt0.返回菜单ttt9.继续转账); c = _getch();if (c = 9) /输入9就行转账 system(CLS); elseif (c = 0) /c为0返回菜单 system(CLS); menu(); else printf(输入错误,请重新输入!n); system(CLS); else system(CLS); printf(nnnnnntt对不起,一次最多能转账3000元,请重新输入!); printf(nnnnn按任意键返回!n); _getch(); system(CLS); else system(CLS); printf(nnnnnnttt您的余额缺乏,请重新输入!); printf(nnnnn按任意键返回!n); _getch(); system(CLS); else system(CLS); printf(nnnnnnttt请输入正确的金额!请重新输入!); printf(nnnnn按任意键返回!n); _getch(); system(CLS); else system(CLS); menu(); while (1);

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

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