ATM取款機(jī)模擬系統(tǒng) 程序設(shè)計(jì) 報(bào)告(完成版)_第1頁(yè)
ATM取款機(jī)模擬系統(tǒng) 程序設(shè)計(jì) 報(bào)告(完成版)_第2頁(yè)
ATM取款機(jī)模擬系統(tǒng) 程序設(shè)計(jì) 報(bào)告(完成版)_第3頁(yè)
ATM取款機(jī)模擬系統(tǒng) 程序設(shè)計(jì) 報(bào)告(完成版)_第4頁(yè)
ATM取款機(jī)模擬系統(tǒng) 程序設(shè)計(jì) 報(bào)告(完成版)_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、信息工程與自動(dòng)化學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè) C程序設(shè)計(jì)語(yǔ)言課程設(shè)計(jì) 目錄三、編程題部分(銀行ATM模擬存取系統(tǒng))1、設(shè)計(jì)內(nèi)容第2頁(yè)2、設(shè)計(jì) 第2頁(yè)(1)數(shù)據(jù)分析 第2頁(yè)(2)程序流程分析 第3頁(yè)3、編碼及調(diào)試 第13頁(yè)4、程序運(yùn)行截圖 第32頁(yè)四、總結(jié)與體會(huì) 第37頁(yè)五、參考文獻(xiàn) 第39頁(yè)三、編程題部分1、設(shè)計(jì)內(nèi)容完成一個(gè)管理類的綜合型設(shè)計(jì):銀行ATM模擬存取系統(tǒng)。要求學(xué)生進(jìn)行數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)、對(duì)函數(shù)進(jìn)行模塊化結(jié)構(gòu)化設(shè)計(jì)、并靈活運(yùn)用數(shù)組、結(jié)構(gòu)體、指針、文件等多種數(shù)據(jù)類型設(shè)計(jì)開(kāi)發(fā)系統(tǒng)。通過(guò)寫(xiě)程序,學(xué)生應(yīng)掌握用計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言解決實(shí)際問(wèn)題的方法、步驟。該系統(tǒng)應(yīng)該具有以下功能:1)賬戶管理功能a)

2、開(kāi)戶:完成賬戶注冊(cè)的功能。即輸入賬戶的相關(guān)信息。要求賬戶號(hào)長(zhǎng)度12位,密碼長(zhǎng)度不得低于6位,必須使用暗碼,賬戶信息保存到數(shù)組中,賬戶信息最后保存到相關(guān)文件中;b) 賬戶登錄:輸入賬戶、密碼,驗(yàn)證是否能夠登錄該系統(tǒng);c)密碼修改:輸入兩次相同的密碼方可修改。2)賬務(wù)管理功能a) 存款:每筆存款金額大于0元小于等于1000元,以50元為基本單位。需記錄交易日期和時(shí)間。b) 取款:每筆取款金額大于等于100元小于等于2000元,以50元為基本單位。需記錄交易日期和時(shí)間。c) 轉(zhuǎn)賬:每筆轉(zhuǎn)賬金額大于等于100元小于等于5000元。需記錄交易日期和時(shí)間。3)查詢功能a) 存款記錄查詢b) 取款記錄查詢c

3、) 轉(zhuǎn)賬記錄查詢d) 余額查詢4)文件功能及其它功能:數(shù)據(jù)都應(yīng)保存在相關(guān)文件中。2、設(shè)計(jì)(1) 數(shù)據(jù)分析(描述定義的各主要變量的作用及意義);char zhanghao16;/*用戶賬號(hào)*/char xingming9;/*用戶姓名*/char mima7;/*賬戶密碼*/char shengfenzheng19;/*用戶身份證號(hào)*/float yue;/*賬戶余額*/char kaihushijian50;/*開(kāi)戶時(shí)間*/ char zhanghao16;/*交易的賬號(hào)*/char jiaoyishijian50;/*交易時(shí)間*/char leixing5;/*交易類型*/float jia

4、oyijine;/*交易金額*/float jiaoyiyue;/*交易后的余額*/char duifangzhanghao12;/*交易時(shí)的對(duì)方賬號(hào)*/ int zhanghuxuhao=0,jiaoyixuhao=0,dangqianxiabiao=0,duifangzhanghuxiabiao=0;/*賬戶序號(hào),交易序號(hào),當(dāng)前登錄的賬戶下標(biāo),轉(zhuǎn)賬時(shí)對(duì)方的賬戶下標(biāo)*/注冊(cè)函數(shù): int baiwei,shiwei,gewei,len;/*定義賬號(hào)的后三位*/char mima27;/*注冊(cè)時(shí)第二次輸入的密碼*/登錄函數(shù):char zhanghao16,mima7;/*登錄時(shí)輸入的賬號(hào)和密碼

5、*/裝載和保存文件函數(shù): FILE *fp;/*定義文件指針*/ char wenjianming13;/*定義輸入的文件名*/存、取款,轉(zhuǎn)賬函數(shù): float jine;/*輸入的存、取款,轉(zhuǎn)賬金額*/char t30;/*把取得的存、取款,轉(zhuǎn)賬時(shí)間賦給該數(shù)組*/轉(zhuǎn)賬函數(shù):char duifangzhanghao16,c;/*輸入的對(duì)方賬號(hào)賦給該數(shù)組。在判斷是否繼續(xù)時(shí),把輸入的字符Y或N賦給c,以便讀入選擇*/修改密碼函數(shù):char mima7,xinmima17,xinmima27;/*舊密碼,第一次輸入的新密碼,第二次輸入的新密碼*/(2)程序流程分析(描述主程序的基本構(gòu)成、函數(shù)設(shè)計(jì)、函

6、數(shù)的調(diào)用關(guān)系、各部分的流程圖等。)主程序的基本構(gòu)成:struct Zhanghu;/*賬戶的結(jié)構(gòu)體*/typedef struct Jiaoyi;/*交易記錄的結(jié)構(gòu)體*/int menu(); /*主菜單函數(shù)*/void zhuce(); /*主菜單功能函數(shù)注冊(cè)函數(shù)*/void denglu(); /*主菜單功能函數(shù)登錄函數(shù)*/void zhuangzai(); /*主菜單功能函數(shù)裝載數(shù)據(jù)函數(shù)*/void baocun(); /*主菜單功能函數(shù)保存數(shù)據(jù)函數(shù)*/int denglu_menu(); /*登錄菜單函數(shù)*/void cunkuan(); /*登錄菜單功能函數(shù)存款函數(shù)*/void qu

7、kuan(); /*登錄菜單功能函數(shù)取款函數(shù)*/void zhuanzhang(); /*登錄菜單功能函數(shù)轉(zhuǎn)賬函數(shù)*/void chaxun(); /*登錄菜單功能函數(shù)查詢函數(shù)*/void xiugaimima(); /*登錄菜單功能函數(shù)修改密碼函數(shù)*/int chaxun_menu(); /*查詢菜單函數(shù)*/void chaxun_yue(); /*查詢菜單功能函數(shù)查詢余額函數(shù)*/void chaxun_mingxi(); /*查詢菜單功能函數(shù)查詢明細(xì)函數(shù)*/void chaxun_cunkuan(); /*查詢菜單功能函數(shù)查詢存款函數(shù)*/void chaxun_qukuan(); /*查詢

8、菜單功能函數(shù)查詢?nèi)】詈瘮?shù)*/void chaxun_zhuanzhang();/*查詢菜單功能函數(shù)查詢轉(zhuǎn)賬函數(shù)*/函數(shù)設(shè)計(jì):本程序在函數(shù)設(shè)計(jì)上采用結(jié)構(gòu)化程序設(shè)計(jì)方法,自頂向下,逐步根據(jù)功能設(shè)計(jì)函數(shù),逐步細(xì)化設(shè)計(jì),由淺入深,模塊化設(shè)計(jì),保證了程序的可讀性和質(zhì)量。先設(shè)計(jì)主菜單(一級(jí)菜單)的功能函數(shù),再設(shè)計(jì)二級(jí)菜單的功能函數(shù),自頂而下,逐步細(xì)化。如圖示意:主菜單功能注冊(cè)登錄裝載保存(頂層設(shè)計(jì))怎樣注冊(cè)怎樣保存怎樣讀入查詢轉(zhuǎn)賬取款存款(第二層設(shè)計(jì))二級(jí)菜單(第三層設(shè)計(jì))函數(shù)調(diào)用關(guān)系:strcpyzhucestrlenstrcmpstrcmpcunkuanstrcmpqukuandenglustrcpy

9、zhuangzhangchaxun_menumaindenglu_menuchaxun_yuechaxunchaxun_mingxixiugaimimachaxun_cunkuanfopenchaxun_qukuanfscanfchaxun_zhuanzhangzhuangzaifgetsfopenfclosefprintbaocunfclosemenu注冊(cè)函數(shù)的流程圖:開(kāi)始定義數(shù)據(jù)變量,調(diào)用時(shí)間函數(shù),設(shè)置賬號(hào)的隨機(jī)分配輸入姓名輸入兩次密碼兩次密碼相同 N Y輸入身份證號(hào)號(hào)位數(shù)既不為15也不為18 Y N輸入存款金額輸出賬戶和第一次交易的數(shù)據(jù)清單結(jié)束登錄函數(shù)的流程圖:開(kāi)始定義個(gè)變量,i=0輸入

10、賬號(hào)i<zhanghuxuhao N Y輸入的賬號(hào)和已注冊(cè)的某一賬號(hào)相同i+輸入密碼密碼錯(cuò)誤 N密碼輸入次數(shù)為3 Y進(jìn)入登陸界面執(zhí)行switch功能語(yǔ)句 N Yreturn;輸入選項(xiàng)數(shù)字?jǐn)?shù)字為0 N根據(jù)選項(xiàng)執(zhí)行語(yǔ)句退出 Y修改密碼函數(shù)的流程圖:輸入賬號(hào)輸入舊密碼密碼正確return; N Y輸入兩次新密碼 N次數(shù)為3兩次密碼輸入相同 N Yreturn; Y 密碼修改成功結(jié)束開(kāi)始 開(kāi)始 system("cls");結(jié)束 返回 存款函數(shù)的流程圖: 輸入存款金額jinejine%50!=0|jine<=0jine%50!=0|jine<=0 Y N retur

11、n;調(diào)用時(shí)間函數(shù)調(diào)用strcpy函數(shù)復(fù)制賬號(hào)、類型、時(shí)間。計(jì)算余額 存款成功 輸出存款的交易記錄取款函數(shù)的流程圖: 結(jié)束 返回 開(kāi)始 system("cls"); 輸入取款金額jine取款金額大于賬戶余額 Y N輸出提示, return;jine%50!=0| jine<=0 N Y調(diào)用時(shí)間函數(shù)return;調(diào)用strcpy函數(shù)復(fù)制賬號(hào)、類型、時(shí)間。計(jì)算余額 輸出存款的交易記錄轉(zhuǎn)賬函數(shù)的流程圖:開(kāi)始輸入對(duì)方賬號(hào)是否與當(dāng)前登錄賬號(hào)相同return; Y Ni<zhanghuxuhaoreturn; N Y輸入的賬號(hào)與已注冊(cè)的某一賬號(hào)相同i=zhanghuxuhao

12、 Y輸出對(duì)方賬號(hào)的姓名 Ni+;是否繼續(xù) Nreturn; Y輸入轉(zhuǎn)賬金額jinejine大于賬戶余額 Yreturn; Njine<=0 Y N顯示警告信息是否繼續(xù)return; N執(zhí)行轉(zhuǎn)賬語(yǔ)句 Y裝載函數(shù)的流程圖:輸出轉(zhuǎn)賬交易記錄開(kāi)始結(jié)束輸入要讀入數(shù)據(jù)的文件名找不到該文件名 Y返回 Ni<zhanghuxuhao Ni<jiaoyixuhao N Y從文件中讀入賬戶的數(shù)據(jù) Y從文件中讀入交易記錄的數(shù)據(jù)信息 i+i+關(guān)閉文件結(jié)束保存函數(shù)的流程圖:開(kāi)始輸入要保存數(shù)據(jù)的文件名新建該文件,若打不開(kāi)文件 Y返回 Ni<zhanghuxuhao Ni<jiaoyixuha

13、o N Y把賬戶的數(shù)據(jù)輸出到文件 Y把交易記錄的數(shù)據(jù)信息輸出到保存文件 i+i+關(guān)閉文件結(jié)束3、編碼及調(diào)試#include<stdio.h>#include<stdlib.h>#include<string.h>#include<time.h>#include<conio.h>#define ZHANGHUSHU 100/*賬戶的結(jié)構(gòu)體*/struct Zhanghuchar zhanghao16;/*用戶賬號(hào)*/char xingming9;/*用戶姓名*/char mima7;/*賬戶密碼*/char shengfenzheng1

14、9;/*用戶身份證號(hào)*/float yue;/*賬戶余額*/char kaihushijian50;/*開(kāi)戶時(shí)間*/;typedef struct /*交易記錄的結(jié)構(gòu)體*/char zhanghao16;/*交易的賬號(hào)*/char jiaoyishijian50;/*交易時(shí)間*/char leixing5;/*交易類型*/float jiaoyijine;/*交易金額*/float jiaoyiyue;/*交易后的余額*/char duifangzhanghao12;/*交易時(shí)的對(duì)方賬號(hào)*/ Jiaoyi;struct Zhanghu zhanghu100;/*定義賬戶的結(jié)構(gòu)體數(shù)組,可以注冊(cè)1

15、00個(gè)賬戶*/int zhanghuxuhao=0,jiaoyixuhao=0,dangqianxiabiao=0,duifangzhanghuxiabiao=0;/*賬戶序號(hào),交易序號(hào),當(dāng)前登錄的賬戶下標(biāo),轉(zhuǎn)賬時(shí)對(duì)方的賬戶下標(biāo)*/Jiaoyi jiaoyi1000;/*定義交易記錄的結(jié)構(gòu)體數(shù)組,可以保存1000條交易記錄*/int menu(); /*聲明 主菜單 函數(shù)*/void zhuce(); /*聲明 注冊(cè) 函數(shù)*/void denglu(); /*聲明 登錄 函數(shù)*/void zhuangzai(); /*聲明 裝載數(shù)據(jù) 函數(shù)*/void baocun(); /*聲明 保存數(shù)據(jù) 函

16、數(shù)*/int denglu_menu(); /*聲明 登錄菜單 函數(shù)*/void cunkuan(); /*聲明 存款 函數(shù)*/void qukuan(); /*聲明 取款 函數(shù)*/void zhuanzhang(); /*聲明 轉(zhuǎn)賬 函數(shù)*/void chaxun(); /*聲明 查詢 函數(shù)*/void xiugaimima(); /*聲明 修改密碼 函數(shù)*/int chaxun_menu(); /*聲明 查詢菜單 函數(shù)*/void chaxun_yue(); /*聲明 查詢余額 函數(shù)*/void chaxun_mingxi(); /*聲明 查詢明細(xì) 函數(shù)*/void chaxun_cunk

17、uan(); /*聲明 查詢存款 函數(shù)*/void chaxun_qukuan(); /*聲明 查詢?nèi)】?函數(shù)*/void chaxun_zhuanzhang();/*聲明 查詢轉(zhuǎn)賬 函數(shù)*/void main()/*主函數(shù)*/ system("color 1F");/*設(shè)置運(yùn)行界面的背景顏色為藍(lán)色*/printf("nnnnnnnnttt歡迎使用ATM終端機(jī)!nnnttt"); system("pause");/*暫停功能*/system("cls");/*清屏*/for(;)/*空循環(huán)語(yǔ)句*/ switch(m

18、enu() /*主菜單選擇判斷*/ case 1:zhuce();/*調(diào)用注冊(cè)函數(shù)*/ printf("ttt"); break; case 2:denglu();/*調(diào)用登錄函數(shù)*/ printf("ttt"); break; case 3:zhuangzai();/*調(diào)用裝載數(shù)據(jù)的函數(shù)*/ printf("ttt"); break; case 4:baocun();/*調(diào)用保存數(shù)據(jù)的函數(shù)*/ printf("ttt"); break; case 0: printf("ttt歡迎使用ATM終端機(jī)管理系統(tǒng)

19、。謝謝!n"); /*結(jié)束程序*/ printf("ttt"); system("pause"); exit(0); int menu() /*定義主菜單函數(shù)*/ char c; do system("cls"); /*每次選擇運(yùn)行前清屏*/ printf("nnnntt-n"); printf("tt *ATM終端機(jī)管理系統(tǒng)主菜單*n"); /*主菜單選擇*/ printf("tt-n"); printf("tt *| 1. 注冊(cè)|n"); p

20、rintf("tt *| 2. 登錄|n"); printf("tt *| 3. 裝載數(shù)據(jù)|n"); printf("tt *| 4. 保存數(shù)據(jù) |n"); printf("tt *| 0. 退出 |n"); printf("tt-n"); printf("tt*_*_*_*_*_*_*_*_*_*_*n"); printf("tt-n"); printf("ttt請(qǐng)作出選擇(0-4):"); c=getchar(); /*讀入選擇*/

21、 while(c<'0'|c>'4'); return(c-'0'); /*c變?yōu)榭蘸蠓祷刂匦逻x擇*/*定義主菜單里的各功能函數(shù)函數(shù)*/void zhuce() /*定義注冊(cè)函數(shù)*/int baiwei,shiwei,gewei,len;/*定義賬號(hào)的后三位*/char mima27;/*注冊(cè)時(shí)第二次輸入的密碼*/char t30;/*開(kāi)戶時(shí)間*/int i,j=0;time_t rawtime;struct tm *timeinfo;time(&rawtime);/*調(diào)用時(shí)間函數(shù),取得開(kāi)戶時(shí)間*/timeinfo=local

22、time(&rawtime);strcpy(t,asctime(timeinfo);for(i=0;i<strlen(t);i+)if(ti='n')ti='0'break;strcpy(zhanghuzhanghuxuhao.zhanghao,"625301234567");/*復(fù)制賬號(hào)的前12位*/baiwei=zhanghuxuhao/100;shiwei=zhanghuxuhao/10%10;gewei=zhanghuxuhao%10;zhanghuzhanghuxuhao.zhanghao12=baiwei+'

23、0'zhanghuzhanghuxuhao.zhanghao13=shiwei+'0'zhanghuzhanghuxuhao.zhanghao14=gewei+'0'zhanghuzhanghuxuhao.zhanghao15='0' system("cls");/*運(yùn)行前清屏*/ printf("nnnttt注冊(cè)功能ZHUCE GONGNENGnnn");printf("tt請(qǐng)輸入姓名:");fflush(stdin);/*消耗輸入字符后的回車操作*/scanf("%

24、s",zhanghuzhanghuxuhao.xingming);doprintf("tt請(qǐng)輸入6位數(shù)密碼:");fflush(stdin);scanf("%s",zhanghuzhanghuxuhao.mima);len=strlen(zhanghuzhanghuxuhao.mima);if(len!=6)/*判斷密碼是否為6位*/printf("tt您的密碼不是6位數(shù)!");system("pause"); return; /此處用字符串長(zhǎng)度函數(shù)來(lái)判斷密碼的位數(shù)printf("tt請(qǐng)?jiān)俅屋斎?/p>

25、密碼:");fflush(stdin);scanf("%s",mima2);if(strcmp(zhanghuzhanghuxuhao.mima,mima2)!=0)/*判斷兩次密碼輸入是否相同*/ j+;printf("tt您的密碼輸入錯(cuò)誤!您還有%d次機(jī)會(huì)輸入密碼!n",3-j); if(j=3)/*密碼輸入錯(cuò)誤不得超過(guò)三次*/system("pause");return;while (strcmp(zhanghuzhanghuxuhao.mima,mima2)!=0); doprintf("tt請(qǐng)輸入身份證號(hào)

26、:");fflush(stdin);scanf("%s",zhanghuzhanghuxuhao.shengfenzheng);len=strlen(zhanghuzhanghuxuhao.shengfenzheng);if(len!=18&&len!=15)/*判斷身份證號(hào)位數(shù)是否為15位或18 位*/printf("身份證號(hào)錯(cuò)誤!請(qǐng)輸入15位或18位身份證號(hào)!n");while(len!=18&&len!=15);printf("tt請(qǐng)輸入存入金額:");fflush(stdin);sca

27、nf("%f",&zhanghuzhanghuxuhao.yue); if(int)zhanghuzhanghuxuhao.yue%50!=0)/*存款金額必須為50的整數(shù)倍*/ printf("本終端機(jī)只接受50元或100元面值的存款!");system("pause");return; strcpy(zhanghuzhanghuxuhao.kaihushijian,t);/*復(fù)制開(kāi)戶時(shí)間*/ strcpy(jiaoyijiaoyixuhao.zhanghao,zhanghuzhanghuxuhao.zhanghao);/*

28、/strcpy(jiaoyijiaoyixuhao.leixing,"存");/*復(fù)制交易類型*/strcpy(jiaoyijiaoyixuhao.jiaoyishijian,t);/*復(fù)制交易時(shí)間*/jiaoyijiaoyixuhao.jiaoyijine=zhanghuzhanghuxuhao.yue;/*第一次交易的賬戶余額值賦給交易經(jīng)額的值*/ jiaoyijiaoyixuhao.jiaoyiyue=zhanghudangqianxiabiao.yue;/*第一次交易的賬戶余額值賦給交易余額的值*/ printf("ntt開(kāi)戶成功!t");sys

29、tem("pause");/*暫停功能*/輸出賬戶第一次交易的數(shù)據(jù)清單printf("nn賬號(hào)tt交易類型t交易金額t余額tt交易時(shí)間n");printf("%st",zhanghuzhanghuxuhao.zhanghao);printf(" %s",jiaoyijiaoyixuhao.leixing); printf("tt%.2f",zhanghuzhanghuxuhao.yue); printf("t %.2f",zhanghuzhanghuxuhao.yue); p

30、rintf(" %stnn",zhanghuzhanghuxuhao.kaihushijian);zhanghuxuhao+;/*賬戶序號(hào)加一*/jiaoyixuhao+;/*交易序號(hào)加一*/printf("tttt"); system("pause");/*暫停*/void denglu() /*定義登錄函數(shù)*/char zhanghao16,mima7;/*登錄時(shí)輸入的賬號(hào)和密碼*/int i=0,j=0;system("cls");/*清屏*/ printf("nnnttt登錄功能DENGLU GO

31、NGNENGnnn");/*進(jìn)入登錄得功能界面*/printf("tt輸入賬號(hào):");scanf("%s",zhanghao);/*輸入賬號(hào)*/for( i=0;i<zhanghuxuhao;i+)/*在已注冊(cè)的賬號(hào)中依次尋找該賬號(hào)*/if(strcmp(zhanghao,zhanghui.zhanghao)=0)dangqianxiabiao=i;/*若找到,則跳出循環(huán)*/ break;if(i=zhanghuxuhao)/*注冊(cè)的賬號(hào)中沒(méi)輸入的賬號(hào)*/printf("tt當(dāng)前賬號(hào)不存在!");system(&quo

32、t;pause");return;do printf("ntt輸入密碼:"); scanf("%s",mima); if(strcmp(mima,zhanghui.mima)!=0) j+;printf("tt您的密碼輸入錯(cuò)誤!您還有%d次機(jī)會(huì)輸入密碼!nn",3-j); if(j=3)/*密碼輸入錯(cuò)誤不得超過(guò)三次*/ system("pause");return; while(strcmp(mima,zhanghui.mima)!=0); for(;)/*空循環(huán)語(yǔ)句*/ switch(denglu_me

33、nu() /*登陸界面選擇判斷*/ case 1:cunkuan();/*調(diào)用存款函數(shù)*/ printf("ttt"); break; case 2:qukuan();/*調(diào)用取款函數(shù)*/ printf("ttt"); break; case 3:zhuanzhang();/*調(diào)用轉(zhuǎn)賬函數(shù)*/ printf("ttt"); break; case 4:chaxun();/*調(diào)用查詢函數(shù)*/ printf("ttt"); break;case 5:xiugaimima();/*調(diào)用修改密碼函數(shù)*/ printf(&q

34、uot;ttt"); break; case 0: return;/*返回上一級(jí)菜單界面*/ int denglu_menu()/*定義登錄菜單函數(shù)*/char c; do system("cls"); /*每次選擇運(yùn)行前清屏*/ printf("nnntt *歡迎進(jìn)入 登錄界面!*nn"); /*登錄界面菜單選擇*/ printf("tt *| 1. 存款|n"); printf("tt *| 2. 取款|n"); printf("tt *| 3. 轉(zhuǎn)賬|n"); printf(&q

35、uot;tt *| 4. 查詢 |n"); printf("tt *| 5. 修改密碼 |n"); printf("tt *| 0. 返回 |n"); printf("tt*n"); printf("ttt請(qǐng)作出選擇(0-5):"); c=getchar(); /*讀入選擇*/ while(c<'0'|c>'5'); return(c-'0'); /*c變?yōu)榭蘸蠓祷刂匦逻x擇*/void zhuangzai() /*定義裝載函數(shù)*/ FILE *f

36、p;/*定義文件指針*/int i;char wenjianming13;/*定義輸入的文件名*/printf("tt請(qǐng)輸入打開(kāi)的文件名(文件名.txt):");fflush(stdin);scanf("%s",wenjianming);/*輸入要讀入數(shù)據(jù)的文件名*/if (fp=fopen(wenjianming,"r")=NULL)/*找不到輸入的文件名*/printf("tt無(wú)法打開(kāi)該文件!");system("pause");return;fscanf(fp,"%dn"

37、;,&zhanghuxuhao);fscanf(fp,"賬號(hào)tt姓名t密碼t身份證號(hào)t余額t開(kāi)戶時(shí)間n");for(i=0;i<zhanghuxuhao;i+)/*依次從文件讀入注冊(cè)賬戶的信息*/fscanf(fp,"%16s%9s%7s%19s%12f",zhanghui.zhanghao,zhanghui.xingming,zhanghui.mima,zhanghui.shengfenzheng,&zhanghui.yue);fgets(zhanghui.kaihushijian,30,fp);fscanf(fp,"n

38、");fscanf(fp,"%dn",&jiaoyixuhao);fscanf(fp,"賬號(hào)tt交易時(shí)間ttt交易類型 交易金額 交易余額t對(duì)方賬號(hào)n");for(i=0;i<jiaoyixuhao;i+)/*依次從文件讀入交易記錄的信息*/fscanf(fp,"%16s",jiaoyii.zhanghao);fgets(jiaoyii.jiaoyishijian,30,fp);fscanf(fp,"%5s%12f%12f",jiaoyii.leixing,&jiaoyii.jiao

39、yijine,&jiaoyii.jiaoyiyue);fgets(jiaoyii.duifangzhanghao,16,fp);fscanf(fp,"n");fclose(fp);/*關(guān)閉文件*/printf("ttt讀入成功!nn");printf("ttt"); system("pause");void baocun() /*定義保存函數(shù)*/FILE *fp;/*文件指針*/int i;char wenjianming13;printf("tt請(qǐng)輸入文件名(輸入格式為:文件名.txt):&qu

40、ot;);fflush(stdin);scanf("%s",wenjianming);/*輸入要保存的文件名*/if(fp=fopen(wenjianming,"w")=NULL)printf("nttt無(wú)法打開(kāi)文件!nttt");system("pause");return;fprintf(fp,"%dn",zhanghuxuhao);fprintf(fp,"賬號(hào)tt姓名 t密碼t身份證號(hào)ttt余額ttt開(kāi)戶時(shí)間n");for(i=0;i<zhanghuxuhao;i

41、+)/*把賬戶信息依次輸出到指定文件*/fprintf(fp,"%-16s%-9s%-7s%-19s%-12.2f%-30sn",zhanghui.zhanghao,zhanghui.xingming,zhanghui.mima,zhanghui.shengfenzheng,zhanghui.yue,zhanghui.kaihushijian);fprintf(fp,"%dn",jiaoyixuhao);fprintf(fp,"賬號(hào)tt交易時(shí)間ttt交易類型t交易金額t交易余額tt對(duì)方賬號(hào)n");for(i=0;i<jiaoyi

42、xuhao;i+)/*把交易記錄的信息依次輸出到指定文件*/fprintf(fp,"%-16s%-30s%-5s%-12.2f%-12.2f%-16sn",jiaoyii.zhanghao, jiaoyii.jiaoyishijian, jiaoyii.leixing, jiaoyii.jiaoyijine,jiaoyii.jiaoyiyue,jiaoyii.duifangzhanghao);fclose(fp);/*關(guān)閉文件*/printf("tttt保存成功!n");printf("ntttt");system("pau

43、se");void cunkuan() /*定義存款函數(shù)*/float jine;/*輸入的存款金額*/char t30;/*把取得的存款時(shí)間賦給該數(shù)組*/int i;time_t rawtime;struct tm *timeinfo;system("cls");/*清屏*/ printf("nnnttt存款功能CUNKUAN GONGNENGnnn");/*進(jìn)入存款功能界面*/printf("tt本終端機(jī)只接收50元或100元幣值人民幣!nnttt請(qǐng)輸入存款金額:");/*提示信息*/scanf("%f",&jine);/*輸入存款金額*/if(int)jine%50!=0|jine<=0)/*存款金額必須為50的整數(shù)倍且為正數(shù)*/printf("ntt請(qǐng)輸入面值為50或100的存款金額!請(qǐng)勿輸入負(fù)數(shù)或0!nttt"); system(&qu

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論