




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、#include /*引用庫函數(shù)*/#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、戶數(shù)來確定賬戶這一結構體中有多少個體*/int j; /*當前賬戶*/int zhanghushu;int k;/*交易帳號*/int jiaoyishu;void xianshizhanghu();int caidan()/*菜單函數(shù)*/ char c; do system(cls); /*每次選擇運行前清屏*/ printf(tt =歡迎使用ATM系統(tǒng)=nn); /*菜單選擇*/ printf(tt * 1. 注冊* *n); printf(tt * 2. 登錄 *n); printf(tt * 3. 保存數(shù)據(jù) *n); printf(tt * 0. 退出 *n); printf(tt =
4、n); printf(ttt請作出選擇(0-3):); c=getchar(); /*讀入選擇*/ while(c3); return(c-0); /*c變?yōu)榭蘸蠓祷刂匦逻x擇*/*根據(jù)主菜單的返回值來確定主函數(shù)的值*/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() /*顯示賬戶函數(shù)來顯示所輸入的賬戶*/ 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() /*登錄函數(shù)*/ 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()/*保存數(shù)據(jù)*/ int i,j; FILE *fp; char filename20; printf
9、(ttt將數(shù)據(jù)保存到一個文本文件中n);/*輸入文件名*/ printf(ttt請輸入文件名); fflush(stdin); scanf(%s,filename); if(fp=fopen(filename,w)=NULL)/*打開文件*/ printf(無法創(chuàng)建此文件n); system(pause); return; fprintf(fp,%dn,zhanghushu);/*循環(huán)寫入數(shù)據(jù)*/ printf(t帳號tt姓名tt身份證tt密碼t余額t交易數(shù)); 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請輸入欲讀入數(shù)據(jù)的文件名: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變?yōu)榭蘸蠓祷刂匦逻x擇*/void cunkuan() /*存款函數(shù)*/ 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() /*取款函數(shù)*/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() /*修改密碼函數(shù)*/ 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() /*查詢函數(shù)*/ 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()/*菜單函數(shù)*/char c; do system(cls); /*每次選擇運行前清
27、屏*/ printf(tt *查詢菜單*nn); /*菜單選擇*/ printf(tt *| 1. 查詢余額|n); printf(tt *| 2. 查詢存款記錄|n); printf(tt *| 3. 查詢?nèi)】钣涗泑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變?yōu)榭蘸蠓祷刂匦逻x擇*/ void cha
28、xunyue()/*查詢余額函數(shù)*/ printf(nt您的余額為%.2f元n,zhanghuj.yue); system(pause);void chaxuncunkun() /*查詢存款函數(shù)*/ 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() /*查詢?nèi)】詈瘮?shù)*/ 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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 論旅游保險的現(xiàn)狀與創(chuàng)新
- 公司職能發(fā)揮管理制度
- 公司責權體系管理制度
- 2025國內(nèi)貨物買賣合同示范文本
- 福建省部分高中2024-2025學年高二下冊3月聯(lián)考數(shù)學試卷附解析
- 北京市2024~2025學年 高一下冊第五學段數(shù)學試卷附解析
- 安徽省蚌埠市2023?2024學年高二下冊7月期末學業(yè)水平監(jiān)測數(shù)學試卷附解析
- 2024年深圳市大鵬新區(qū)區(qū)屬公辦中小學招聘教師真題
- 員工素質(zhì)報告評語
- 射頻傳感器技術基礎知識點歸納
- 勞動者職業(yè)衛(wèi)生培訓課件
- 教育數(shù)字化轉型背景下中小學課堂教學變革研究
- 2025安全宣傳咨詢?nèi)栈顒又R手冊
- 初中地理課堂教學設計
- DB31/T 1249-2020醫(yī)療廢物衛(wèi)生管理規(guī)范
- 四川省宜賓市翠屏區(qū)2025屆數(shù)學七下期末綜合測試試題含解析
- 八年級英語下學期期末考試(廣州專用)(解析版)
- 項目管理與評估試題及答案
- 護理職稱課件
- 2025年發(fā)展對象考試題題庫及答案
- 檳榔轉讓合同協(xié)議書
評論
0/150
提交評論