




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#include /*引用库函数*/#include#include#include#include#define ZHANGHUSHU 10#define JIAOYISHU 20int caidan();/*登录注册菜单*/void zhuce();void denglu();void baocunshuju();int menu();/*主菜单*/void cunkuan();void qukuan();void zhuanzhang();void chaxun();void xiugaimima();struct JiaoYi /*定义交易结构体*/ char shijian50;/*
2、时间*/ char leixing3;/*类型*/ float jine; /*金额*/ float yue;/*余额*/;struct ZhangHu /*定义账户结构体*/char xingming17;/*姓名*/char zhanghao12;/*账号*/char shenfenzheng19; /*身份证*/char mima7; /*密码*/float yue; /*余额*/struct JiaoYi jiaoyiJIAOYISHU; /*在账户的结构体中在定义交易的结构体*/int jiaoyishu;struct ZhangHu zhanghuZHANGHUSHU; /*定义账
3、户数来确定账户这一结构体中有多少个体*/int j; /*当前账户*/int zhanghushu;int k;/*交易帐号*/int jiaoyishu;void xianshizhanghu();int caidan()/*菜单函数*/ char c; do system(cls); /*每次选择运行前清屏*/ printf(tt =欢迎使用ATM系统=nn); /*菜单选择*/ printf(tt * 1. 注册* *n); printf(tt * 2. 登录 *n); printf(tt * 3. 保存数据 *n); printf(tt * 0. 退出 *n); printf(tt =
4、n); printf(ttt请作出选择(0-3):); c=getchar(); /*读入选择*/ while(c3); return(c-0); /*c变为空后返回重新选择*/*根据主菜单的返回值来确定主函数的值*/void zhuce()printf(ntt请输入姓名:); scanf(%s,zhanghuzhanghushu.xingming); printf(ntt请输入帐号:); scanf(%s,zhanghuzhanghushu.zhanghao); do printf(ntt请输入身份证:); scanf(%s,zhanghuzhanghushu.shenfenzheng);
5、if(strlen(zhanghuzhanghushu.shenfenzheng)=18) break; else printf(ntt身份证必须是18,请重新输入!); while(1); do printf(ntt请输入密码:); scanf(%s,zhanghuzhanghushu.mima); if(strlen(zhanghuzhanghushu.mima)=6) break; else printf(ntt密码必须是6位,请重新输入!); while(1); zhanghuzhanghushu.yue=0; zhanghuzhanghushu.jiaoyishu=0; zhangh
6、ushu+; xianshizhanghu();void xianshizhanghu() /*显示账户函数来显示所输入的账户*/ int i; for(i=0;izhanghushu;i+) printf(nnt帐号t姓名t身份证tt密码t余额n); printf(t%st%st%st%st%.2fn,zhanghui.zhanghao,zhanghui.xingming,zhanghui.shenfenzheng,zhanghui.mima,zhanghui.yue); system(pause); void denglu() /*登录函数*/ char zhanghao12,mima7;
7、 int i=0; int mimacishu=1; printf(ntt请输入帐号:); scanf(%s,zhanghao); while(strcmp(zhanghao,zhanghui.zhanghao)!=0&izhanghushu) i+; /*/ if(i=zhanghushu) return; do printf(ntt请输入密码:); scanf(%s,mima); if(strcmp(mima,zhanghui.mima)!=0) if(mimacishu=3) printf(你已输入错误三次,你不能在输.); system(pause); return; else pri
8、ntf(密码错误请重新输入:); mimacishu+; else break; while(1); for(;) switch(menu() /*选择判断*/ case 1: cunkuan(); break; case 2: qukuan(); break; case 3: zhuanzhang(); break; case 4: chaxun(); break; case 5: xiugaimima(); break; case 0: return; void baocunshuju()/*保存数据*/ int i,j; FILE *fp; char filename20; printf
9、(ttt将数据保存到一个文本文件中n);/*输入文件名*/ printf(ttt请输入文件名); fflush(stdin); scanf(%s,filename); if(fp=fopen(filename,w)=NULL)/*打开文件*/ printf(无法创建此文件n); system(pause); return; fprintf(fp,%dn,zhanghushu);/*循环写入数据*/ printf(t帐号tt姓名tt身份证tt密码t余额t交易数); for(i=0;izhanghushu;i+) fprintf(fp,t%15s%10s%20s%10st%10.2ft%5dn,z
10、hanghui.zhanghao,zhanghui.xingming,zhanghui.shenfenzheng,zhanghui.mima,zhanghui.yue,zhanghui.jiaoyishu); for(j=0;jzhanghui.jiaoyishu;j+) fprintf(fp,%30s%10s%10.2f%10.2fn,zhanghui.jiaoyij.shijian,zhanghui.jiaoyij.leixing,zhanghui.jiaoyij.jine,zhanghui.jiaoyij.yue); fclose(fp);void duqushuju() int i,j
11、; FILE *fp; char filename20; printf(nnnt请输入欲读入数据的文件名:n); fflush(stdin); gets(filename); if(strlen(filename)=0) return; else if(fp=fopen(filename,r)=NULL)/*打开文件*/ printf(无法打开此文件n); system(pause); return; else printf(tt成功打开文件.n); getch(); fscanf(fp,%dn,zhanghushu); for(i=0;izhanghushu;i+) fscanf(fp,%1
12、5s%10s%20s%10ft%10f%5dn, zhanghui.zhanghao, zhanghui.xingming, zhanghui.shenfenzheng, zhanghui.mima, &zhanghui.yue, &zhanghui.jiaoyishu); for(j=0;jzhanghui.jiaoyishu;j+) fgets(zhanghui.jiaoyij.shijian,30,fp); fscanf(fp,%5s%10ft%10fn,zhanghui.jiaoyij.leixing, &(zhanghui.jiaoyij.jine), &(zhanghui.jiao
13、yij.yue); fclose(fp);int menu() char c; do system(cls); printf(nnt= 欢迎使用 XXX银行ATM =nn); printf(t=请选择服务=n); printf(t* *n); printf(t* 1 实时存款 2 取款服务 *n); printf(t* *n); printf(t* 3 转账服务 4 查询 *n); printf(t* *n); printf(t* 5 修改密码 6 退出 *n); printf(t* *n); printf(t=n); printf(ttt请作出选择(1-7):); c=getchar();
14、/*读入选择*/ system(pause); while(c7); return(c-0); /*c变为空后返回重新选择*/void cunkuan() /*存款函数*/ float cunkuanjine;/*输入的存款金额*/ int k; int i; char t30; time_t rawtime; struct tm *timeinfo; time(&rawtime); timeinfo=localtime(&rawtime); strcpy(t,asctime(timeinfo); for(i=0;ti!=0;i+) if(ti=n) ti=0; break; printf(请
15、输入存款金额(存款金额必须大于0,不超过10000,必须是100元的面额n); scanf(%f,&cunkuanjine); if(cunkuanjine1000|(int)cunkuanjine%100!=0) printf(金额不符合要求,请重新选择); return; else k=zhanghuj.jiaoyishu; strcpy(zhanghuj.jiaoyik.shijian,t); strcpy(zhanghuj.jiaoyik.leixing,存); zhanghuj.jiaoyik.jine=cunkuanjine; zhanghuj.yue+=cunkuanjine;
16、zhanghuj.jiaoyik.yue=zhanghuj.yue; zhanghuj.jiaoyishu+; printf(nttt您本次存了%.2f元n,cunkuanjine); printf(nttt您的余额为%.2f元n,zhanghuj.yue); printf(n时间为:%sn,zhanghuj.jiaoyik.shijian); printf(n类型为:%sn,zhanghuj.jiaoyik.leixing); system(pause); void qukuan() /*取款函数*/int k;/*交易下标*/ float qukuanjine; int i; char t
17、30; time_t rawtime; struct tm *timeinfo; time(&rawtime); timeinfo=localtime(&rawtime); strcpy(t,asctime(timeinfo); for(i=0;ti!=0;i+) if(ti=n) ti=0; break; printf( 取款服务 n); printf(t=请选择服务=n); printf(t* *n); printf(t* 1 100 2 200 *n); printf(t* *n); printf(t* 3 500 4 1000 *n); printf(t* *n); printf(t*
18、 5 其他金额 6 返回主菜单 *n); printf(t* *n); printf(t=n); scanf(%f,&qukuanjine); if(qukuanjine10000|(int)qukuanjine%100!=0) printf(金额不符合要求,请重新选择); return; else if(zhanghuj.yuequkuanjine) printf(你的账户余额不足,不能完成这项操作。); return; k=zhanghuj.jiaoyishu; strcpy(zhanghuj.jiaoyik.shijian,t); strcpy(zhanghuj.jiaoyik.leix
19、ing,取); zhanghuj.jiaoyik.jine=qukuanjine; zhanghuj.yue-=qukuanjine; zhanghuj.jiaoyik.yue=zhanghuj.yue; zhanghuj.jiaoyishu+; printf(nttt您本次取款%.2f元n,qukuanjine); printf(nttt您的余额为%.2f元n,zhanghuj.yue); printf(n时间为:%sn,zhanghuj.jiaoyik.shijian); printf(n类型为:%sn,zhanghuj.jiaoyik.leixing); system(pause); v
20、oid zhuanzhang() float zhuanzhangjine; int i; int l=0; char t30,zhuanzhangzhanghao12; char sign=n; time_t rawtime; struct tm *timeinfo; time(&rawtime); timeinfo=localtime(&rawtime); strcpy(t,asctime(timeinfo); for(i=0;ti!=0;i+) if(ti=n) ti=0; printf(请输入你要转入的帐号:); scanf(%s,zhuanzhangzhanghao); while(
21、strcmp(zhanghul.zhanghao,zhuanzhangzhanghao)!=0&lzhanghushu) l+; if(l=zhanghushu) printf(你输入的用户不存在!n); system(pause); return; printf(n该账户户主姓名为%sn,是否确认转账Y/N?,zhanghuj.xingming); scanf(tt%c,&sign); /*输入判断*/ if(sign!=y&sign!=Y) /*判断*/ return; else do printf(n请输入转账金额(大于100不超过5000):); scanf(%f,&zhuanzhan
22、gjine); if(zhuanzhangjine5000) printf(输入金额不对,请重新输入!); system(pause); return; if(zhanghuj.yue=0|zhanghuj.yuezhuanzhangjine) printf(账户余额不足n); system(pause); return; else k=zhanghuj.jiaoyishu; strcpy(zhanghuj.jiaoyik.shijian,t); strcpy(zhanghuj.jiaoyik.leixing,转账); zhanghuj.jiaoyik.jine=zhuanzhangjine;
23、 zhanghuj.yue-=zhuanzhangjine; zhanghuj.jiaoyik.yue=zhanghuj.yue; zhanghuj.jiaoyishu+; printf(ntt你本次转了%0.2f元n,zhuanzhangjine); printf(ntt你的余额为%0.2f元n,zhanghuj.yue); printf(ntt时间为:%sn,zhanghuj.jiaoyik.shijian); printf(ntt类型为:%sn,zhanghuj.jiaoyik.leixing); system(pause); while(0); printf(nntt转账成功nn);
24、system(pause); void xiugaimima() /*修改密码函数*/ char mima17,mima27; do do printf(nnntt请输入密码:); scanf(%s,mima1); if(strlen(mima1)=6) break; else printf(nntt密码必须是6位,请重新输入!); while(1); do printf(nnntt请确认密码:); scanf(%s,mima2); if(strlen(mima2)=6) break; else printf(输入密码必须是6位请输入密码:); while(1); if(strcmp(mima
25、1,mima2)=0 ) /*判断第二次输入的密码是否与第一次的一致*/ break; else printf(nntt*|两次密码不相等请重新输入:nn); while(1); strcpy(zhanghuj.mima,mima1); printf(nntt修改密码成功nn); getch(); system(pause);int chaxuncaidan();/*查询菜单*/void chaxunyue();void chaxuncunkun();void chaxunqukun();void chaxunzhuangzhan();void chaxunjiaoyi();void duqu
26、shuju();void chaxun() /*查询函数*/ for(;) switch(chaxuncaidan() /*选择判断*/ case 1: chaxunyue(); break; case 2: chaxuncunkun(); break; case 3: chaxunqukun(); break; case 4: chaxunzhuangzhan(); break; case 5: chaxunjiaoyi(); break; case 0: return; int chaxuncaidan()/*菜单函数*/char c; do system(cls); /*每次选择运行前清
27、屏*/ printf(tt *查询菜单*nn); /*菜单选择*/ printf(tt *| 1. 查询余额|n); printf(tt *| 2. 查询存款记录|n); printf(tt *| 3. 查询取款记录|n); printf(tt *| 4. 查询转账记录|n); printf(tt *| 5. 查询交易情况|n); printf(tt *| 0. 退出 |n); printf(tt *n); printf(ttt请作出选择(0-5):); c=getchar(); /*读入选择*/ while(c5); return(c-0); /*c变为空后返回重新选择*/ void cha
28、xunyue()/*查询余额函数*/ printf(nt您的余额为%.2f元n,zhanghuj.yue); system(pause);void chaxuncunkun() /*查询存款函数*/ int i; printf(tt *存款查询记录*nn); printf(t帐号t姓名t交易类型t交易时间tt金额t余额n); for(i=0;izhanghuj.jiaoyishu;i+) if(strcmp(zhanghuj.jiaoyii.leixing,存)=0) printf(t%st%st%st%st%.2ft%.2fnn,zhanghuj.zhanghao, zhanghuj.xin
29、gming,zhanghuj.jiaoyii.leixing, zhanghuj.jiaoyii.shijian,zhanghuj.jiaoyii.jine, zhanghuj.jiaoyii.yue); else; system(pause);void chaxunqukun() /*查询取款函数*/ int i; printf(tt *取款查询记录*nn); printf(t帐号t姓名t交易类型t交易时间tt金额t余额n); for(i=0;izhanghuj.jiaoyishu;i+) if(strcmp(zhanghuj.jiaoyii.leixing,取)=0) printf(t%st%st%st%st%.2ft%.2fnn,zhanghuj.zhanghao, zhanghuj.xingming,zhanghuj.jiaoyii.leixing, zhanghuj.jiaoyii.shiji
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 美团员工试题题库及答案
- 职场常用的商务英语短语试题及答案
- 求各类英语试题及答案
- 黄平县面试真题及答案
- 2025体育教师考试试题及答案
- 2025汽车工程知识测试题库及答案
- 2025护士考试题库及答案
- 2025公务员行政能力测试题及答案
- 有机化学反应路径的探讨试题及答案
- 乡村旅游与休闲农业融合发展的乡村旅游与草原旅游结合报告
- 华大新高考联盟2025届高三4月教学质量测评化学+答案
- 2025年中国防晒护理洗发露市场调查研究报告
- 建筑材料租赁标准合同范本7篇
- 2025-2030中国太阳能照明系统行业市场发展趋势与前景展望战略研究报告
- 国家电网招聘考试(金融类)专业考试历年真题及答案
- 2025年湖北省汉江国有资本投资集团有限公司招聘笔试参考题库含答案解析
- 2025年高考政治三轮冲刺复习:统编版选择性必修3《逻辑与思维》开放类主观题 提分刷题练习题(含答案)
- 电镀车间厂房合同协议
- 铁路雨季三防培训课件
- 大学英语四级考试2024年12月真题(第一套)Part I Writing
- 全国行政区域身份证代码表(电子表格版)
评论
0/150
提交评论