




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、时间:二 o二一年七月二十九日时间:二 o二一年七月二十九日c语言程序实践 之巴公井开创作时间:二o 二一年七月二十九日实验陈述姓名学号班级指 导 教 师开设学期开设时间实验题目自动取款机程序设计实验日期评定成绩评定人签字评 定 日 期时间:二 o二一年七月二十九日时间:二 o二一年七月二十九日一、实验目的3.文件的应用:打开、关闭、输入、输出等二、实验内容与实验步调实验内容、原理分析1. 给出数据结构或函数定义结构体:struct clients longintcard_number,card_password; char name20; float money; yonghu3; card
2、_number: 银行卡号card_password: 密码name:用户名money:卡内金额自定义函数:voidfuction(float,int); 用于登陆后的操纵2. 用流程图暗示出来程序设计的思想开始用 户 文 件是否存在创建文件输入用户信息时间:二 o二一年七月二十九日时间:二 o二一年七月二十九日3给出具体实验步调#include #include #define n 3 /* 用户人数 */struct clientslongintcard_number,card_password;char name20;float money;yonghun;file *fp;inti;v
3、oidfuction(float,int);信息是否重复输入卡号和密码输入信息是否正确错误是否超出三次输入1 输入2 输入3 输入4 输入5 输入其他输入0 存款取款充话费显示菜单修改密码输入错误结束时间:二 o二一年七月二十九日时间:二 o二一年七月二十九日void main()int j,number,password,times1=3,times2=3;printf( 欢迎使用中国建设银行自动取款机!n);fp = fopen(clients.txt,a+);if(getw(fp)=eof)printf( 用户文件未设置!n);for(i=0;in;i+) /*文件不存在时,输入用户信息
4、*/printf( 请输入第 %d 位用户的信息:n,i+1);printf( 银行卡号密码用户名卡内金额n);scanf(%d%d %s %f,&yonghui.card_number,&yonghui.card_password,,&yonghui.money);if(i=1)while(yonghui.card_number=yonghui-1.card_number)|(yonghui.card_password=yonghui-1.card_password)printf( 输入信息有重复!请重新输入 n);printf( 请输入第 %
5、d 位用户的信息:n,i+1);printf( 银行卡号密码用户名卡内金额n);scanf(%d %d %s %f,&yonghui.card_number,&yonghui.card_password,,&yonghui.money);if(i=2)时间:二 o二一年七月二十九日时间:二 o二一年七月二十九日while(yonghui.card_number=yonghui-1.card_number)|(yonghui.card_password=yonghui-1.card_password)|(yonghui.card_number=yo
6、nghui-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.money);fprintf(fp,%d %d %s %f,yonghui.card_number,yonghui
7、.card_password,,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,&yonghui.card_number,&yonghui.card_passwo
8、rd,,&yonghui.money);fclose(fp);时间:二 o二一年七月二十九日时间:二 o二一年七月二十九日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,&nu
9、mber);printf( 请输入您的密码:n);scanf(%d,&password);i=-1;elseprintf( 测验考试失败!请按任意键退出:n);exit(0);times1-;elseif(number=yonghui.card_number)if(password=yonghui.card_password)printf( %s 登陆成功 !请继续您的操纵n,);j=i;时间:二 o二一年七月二十九日时间:二 o二一年七月二十九日i=5; /* 登陆成功,退出循环*/elseif(times2-1)!=0)printf( 密码输入错误!您还有
10、%d 次测验考试机会n,times2-1);printf( 请输入您的密码:n);scanf(%d,&password);i=-1;elseprintf( 测验考试失败!请按任意键退出:n);exit(0);times2-;fuction(yonghuj.money,j);voidfuction(float m,int k)floatsaved_money,fetched_money,payment;intphone_num,x,old_password,new_password;while(1)时间:二 o二一年七月二十九日时间:二 o二一年七月二十九日printf(1. 存款 .n
11、2.取款 .n3.充话费 .n4.修改密码 .n5.显示菜单 .n0.退出系统 .n);scanf(%d,&x);switch(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( 操纵成功 !卡内余额
12、为 : %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.money);putc(n,fp);fclose(fp);break;时间:二 o二一年七月二十九日时间:二 o二一年七月二十九日case 2:printf( 卡内金额 : %fn,m);printf( 请输入取款金额:n);scanf(%f,&fetched_money);m
13、-= fetched_money;while(fetched_money0)|(m0)printf( 输入有误 !请重新输入 !n);m += fetched_money;printf( 请输入取款金额: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_pas
14、sword,,yonghui.money);putc(n,fp);fclose(fp);break;case 3:printf( 卡内金额 : %fn,m);printf( 请输入电话号码:n);scanf(%d,&phone_num);时间:二 o二一年七月二十九日时间:二 o二一年七月二十九日printf( 请输入所交话费金额:n);scanf(%f,&payment);m -= payment;while(payment0)|(m0)printf( 输入有误 !请重新输入 !n);m += payment;printf( 请输入所交话费金额:n);
15、scanf(%f,&payment);m -= payment;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.money);putc(n,fp);fclose(fp);break;case 4:while(1)printf( 请输入原密码:n);scanf(%d,&old_pass
16、word);if(old_password=yonghuk.card_password)时间:二 o二一年七月二十九日时间:二 o二一年七月二十九日printf( 请输入新密码:n);scanf(%d,&new_password);printf( 密码修改成功!n);yonghuk.card_password = new_password;fp = fopen(clients.txt,w+);for(i=0;in;i+)fprintf(fp,%d %d %s %f,yonghui.card_number,yonghui.card_password,,yonghu
17、i.money);putc(n,fp);fclose(fp);break;elseprintf( 密码输入错误!n);break;case 5:break;default:printf( 输入有误 !请重新输入 !n);break;三、实验过程与结果分析1.现象:输入用户信息后,在登录系统时,输入第一个用户的信息,提示该用户不存在解决方法:时间:二 o二一年七月二十九日时间:二 o二一年七月二十九日fp = fopen(clients.txt,r+);for(i=0;i0 时,提示剩余测验考试机会,当times-1=0 时,退出程序3.现象:存取款或充话费时,输入负数仍能运行解决方法:增加循环
18、:while(saved_money0)printf( 输入有误 !请重新输入 !n);printf( 请输入存款金额:n);scanf(%f,&saved_money);while(fetched_money0)|(m0)printf( 输入有误 !请重新输入 !n);m += fetched_money;printf( 请输入取款金额:n);scanf(%f,&fetched_money);m -= fetched_money;时间:二 o二一年七月二十九日时间:二 o二一年七月二十九日while(payment0)|(m0)printf( 输入有误 !请重新输入 !n);m += payment;printf( 请输入所交话费金额:n);scanf(%f,&payment);m -= payment;四、实验结果总结时间:二 o二一年七月二十
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 海南科技职业大学《大学体育(Ⅳ)》2023-2024学年第二学期期末试卷
- 怀化学院《草地农业生态系统概论》2023-2024学年第二学期期末试卷
- 绍兴文理学院《大学生的卫生与健康》2023-2024学年第二学期期末试卷
- 西昌学院《新闻与纪实摄影》2023-2024学年第二学期期末试卷
- 吉林大学《纺织物理》2023-2024学年第二学期期末试卷
- 湖北轻工职业技术学院《虚拟现实开发与设计》2023-2024学年第二学期期末试卷
- 天津体育职业学院《医用化学实验》2023-2024学年第二学期期末试卷
- 北京邮电大学世纪学院《蒙台梭利教育活动设计与实施》2023-2024学年第二学期期末试卷
- 天津体育学院《服务营销》2023-2024学年第二学期期末试卷
- Adverb revision(教学设计)-2023-2024学年译林版(三起)英语六年级下册
- 《公司法完整版》课件2024
- 2024年下半年信息系统项目管理师真题及答案
- 海康威视电力行业系统解决方案
- 2024-2030年中国街舞培训行业发展趋势及竞争格局分析报告
- 期末练习卷(模拟试题)-2024-2025学年 一年级上册数学人教版
- 白血病合并感染
- GB/T 18601-2024天然花岗石建筑板材
- 有机肥配施氮肥对玉米根系生长、氮素利用及产量和品质的影响
- 2024年山西省中考语文试卷
- 《大学美育教程》第二单元-心灵的熏陶:审美活动
- 2023年云南公务员录用考试《行测》题
评论
0/150
提交评论