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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言ATM程序设计.docx

1、C语言ATM程序设计C语言程序实践实验报告姓 名学 号班 级指 导 教 师开 设 学 期开 设 时 间实验题目自动取款机程序设计实验日期评 定 成 绩评定人签字评 定 日 期一、实验目的1.函数的调用2.结构体的使用3.文件的应用:打开、关闭、输入、输出等4.宏定义二、实验内容与实验步骤实验内容、原理分析1. 给出数据结构或函数定义结构体:struct clients long int card_number,card_password; char name20; float money;yonghu3;card_number:银行卡号card_password:密码name:用户名money

2、:卡内金额自定义函数:void fuction(float,int);用于登陆后的操作2. 用流程图表示出来程序设计的思想3给出具体实验步骤#include #include #define N 3 /*用户人数*/struct clients long int card_number,card_password; char name20; float money;yonghuN;FILE *fp;int i;void fuction(float,int);void main() int j,number,password,times1=3,times2=3; printf( 欢迎使用中国建设

3、银行自动取款机!n); fp = fopen(clients.txt,a+); if(getw(fp)=EOF) printf(用户文件未设置!n); for(i=0;iN;i+) /*文件不存在时,输入用户信息*/ printf(请输入第%d位用户的信息:n,i+1); printf(银行卡号 密码 用户名 卡内金额n); scanf(%d %d %s %f,&yonghui.card_number,&yonghui.card_password,yonghui.name,&yonghui.money); if(i=1) while(yonghui.card_number=yonghui-1.

4、card_number)|(yonghui.card_password=yonghui-1.card_password) printf(输入信息有重复!请重新输入n); printf(请输入第%d位用户的信息:n,i+1); printf(银行卡号 密码 用户名 卡内金额n); scanf(%d %d %s %f,&yonghui.card_number,&yonghui.card_password,yonghui.name,&yonghui.money); if(i=2) while(yonghui.card_number=yonghui-1.card_number)|(yonghui.ca

5、rd_password=yonghui-1.card_password)|(yonghui.card_number=yonghui-2.card_number)|(yonghui.card_password=yonghui-2.card_password) printf(输入信息有重复!请重新输入n); printf(请输入第%d位用户的信息:n,i+1); printf(银行卡号 密码 用户名 卡内金额n); scanf(%d %d %s %f,&yonghui.card_number,&yonghui.card_password,yonghui.name,&yonghui.money);

6、fprintf(fp,%d %d %s %f,yonghui.card_number,yonghui.card_password,yonghui.name,yonghui.money); putc(n,fp); fclose(fp); printf(nn 请登录系统n); /*登录系统,输入卡号和密码*/ printf(请输入您的银行卡号:n); scanf(%d,&number); printf(请输入您的密码:n); scanf(%d,&password); fp = fopen(clients.txt,r+); for(i=0;iN;i+) fscanf(fp,%d %d %s %f,&

7、yonghui.card_number,&yonghui.card_password,yonghui.name,&yonghui.money); fclose(fp); for(i=0;iN;i+) /*判断卡号及密码是否匹配*/ if(number!=yonghu0.card_number)&(number!=yonghu1.card_number)&(number!=yonghu2.card_number) if(times1-1)!=0) printf(该用户不存在!您还有%d次尝试机会n,times1-1); printf(请输入您的银行卡号:n); scanf(%d,&number)

8、; printf(请输入您的密码:n); scanf(%d,&password); i=-1; else printf(尝试失败!请按任意键退出:n); exit(0); times1-; else if(number=yonghui.card_number) if(password=yonghui.card_password) printf( %s登陆成功!请继续您的操作n,yonghui.name); j=i; i=5; /*登陆成功,退出循环*/ else if(times2-1)!=0) printf(密码输入错误!您还有%d次尝试机会n,times2-1); printf(请输入您的

9、密码:n); scanf(%d,&password); i=-1; else printf(尝试失败!请按任意键退出:n); exit(0); times2-; fuction(yonghuj.money,j);void fuction(float m,int k) float saved_money,fetched_money,payment; int phone_num,x,old_password,new_password; while(1) printf(1.存款.n2.取款.n3.充话费.n4.修改密码.n5.显示菜单.n0.退出系统.n); scanf(%d,&x); switch

10、(x) case 0: printf(退出系统!); exit(0); case 1: printf(卡内金额: %fn,m); printf(请输入存款金额:n); scanf(%f,&saved_money); while(saved_money0) printf(输入有误!请重新输入!n); printf(请输入存款金额:n); scanf(%f,&saved_money); m += saved_money; printf(操作成功!卡内余额为: %fn,m); yonghuk.money = m; fp = fopen(clients.txt,w+); for(i=0;iN;i+)

11、fprintf(fp,%d %d %s %f,yonghui.card_number,yonghui.card_password,yonghui.name,yonghui.money); putc(n,fp); fclose(fp); break; case 2: printf(卡内金额: %fn,m); printf(请输入取款金额:n); scanf(%f,&fetched_money); m -= fetched_money; while(fetched_money0)|(m0) printf(输入有误!请重新输入!n); m += fetched_money; printf(请输入取款

12、金额:n); scanf(%f,&fetched_money); m -= fetched_money; printf(操作成功!卡内余额为: %fn,m); yonghuk.money = m; fp = fopen(clients.txt,w+); for(i=0;iN;i+) fprintf(fp,%d %d %s %f,yonghui.card_number,yonghui.card_password,yonghui.name,yonghui.money); putc(n,fp); fclose(fp); break; case 3: printf(卡内金额: %fn,m); prin

13、tf(请输入电话号码:n); scanf(%d,&phone_num); printf(请输入所交话费金额:n); scanf(%f,&payment); m -= payment; while(payment0)|(m0) printf(输入有误!请重新输入!n); m += payment; printf(请输入所交话费金额:n); scanf(%f,&payment); m -= payment; printf(操作成功!卡内余额为: %fn,m); yonghuk.money = m; fp = fopen(clients.txt,w+); for(i=0;iN;i+) fprintf

14、(fp,%d %d %s %f,yonghui.card_number,yonghui.card_password,yonghui.name,yonghui.money); putc(n,fp); fclose(fp); break; case 4: while(1) printf(请输入原密码:n); scanf(%d,&old_password); if(old_password=yonghuk.card_password) printf(请输入新密码:n); scanf(%d,&new_password); printf(密码修改成功!n); yonghuk.card_password

15、= new_password; fp = fopen(clients.txt,w+); for(i=0;iN;i+) fprintf(fp,%d %d %s %f,yonghui.card_number,yonghui.card_password,yonghui.name,yonghui.money); putc(n,fp); fclose(fp); break; else printf(密码输入错误!n); break; case 5: break; default: printf(输入有误!请重新输入!n); break; 三、实验过程与结果分析1.现象:输入用户信息后,在登录系统时,输入

16、第一个用户的信息,提示该用户不存在解决方法:fp = fopen(clients.txt,r+); for(i=0;i0时,提示剩余尝试机会,当times-1=0时,退出程序3.现象:存取款或充话费时,输入负数仍能运行解决方法:增加循环:while(saved_money0) printf(输入有误!请重新输入!n); printf(请输入存款金额:n); scanf(%f,&saved_money); while(fetched_money0)|(m0) printf(输入有误!请重新输入!n); m += fetched_money; printf(请输入取款金额:n); scanf(%f

17、,&fetched_money); m -= fetched_money; while(payment0)|(m0) printf(输入有误!请重新输入!n); m += payment; printf(请输入所交话费金额:n); scanf(%f,&payment); m -= payment; 四、实验结果总结五、创新的部分1.输入用户信息时,卡号与密码不可重复2.登录系统时,如果卡号或密码输入错误达三次,则自动退出程序3.为手机充话费时,要求输入电话号码4.存款、取款、充话费时,输入钱数不能为负数,且当取款或充话费的金额超过卡内余额时,禁止此操作5.增加了修改密码的功能六、对实验的意见与建议1.心得体会:实验过程中应反复调试,不断发现问题,解决问题2.不足:输入用户信息或输入x值时,如果格式不正确,就会陷入死循环

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

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