c語(yǔ)言Atm的簡(jiǎn)單實(shí)現(xiàn)_第1頁(yè)
c語(yǔ)言Atm的簡(jiǎn)單實(shí)現(xiàn)_第2頁(yè)
c語(yǔ)言Atm的簡(jiǎn)單實(shí)現(xiàn)_第3頁(yè)
c語(yǔ)言Atm的簡(jiǎn)單實(shí)現(xiàn)_第4頁(yè)
c語(yǔ)言Atm的簡(jiǎn)單實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、信息科等鳥工程號(hào)就數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告課程設(shè)計(jì)名稱: ATM的設(shè)計(jì)與實(shí)現(xiàn)專業(yè)班級(jí):學(xué)生姓名:學(xué) 號(hào): 學(xué)1616010107指導(dǎo)教師:課程設(shè)計(jì)時(shí)間:2016-2017學(xué)年第二學(xué)期計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)課程設(shè)計(jì)任務(wù)書學(xué)生姓名羅淇專業(yè)班級(jí)計(jì)科1601學(xué)號(hào)201616010107題目ATM的設(shè)計(jì)與實(shí)現(xiàn)課題性質(zhì)A課題來源D報(bào)導(dǎo)教師同組姓名無主要內(nèi)容一、基本功能:1 .定義儲(chǔ)戶、銀行卡、ATM機(jī)和流水賬等數(shù)據(jù)類型。2 .實(shí)現(xiàn)錄入信息功能:錄入信息包括儲(chǔ)戶和銀行卡(上述信息都 不少于100條)。3 .實(shí)現(xiàn)存取款功能:存款時(shí),修改存折余額并將存款明細(xì)登記在 流水賬中,取款時(shí),要判斷取款金額是否大于余額以及是否

2、超 過限額,同時(shí)要判斷是否大于ATM機(jī)的剩余錢數(shù),取款成功 后修改存折余額以及ATM機(jī)的總錢數(shù),并將取款明細(xì)登記在 流水賬中。4 .實(shí)現(xiàn)查詢功能:儲(chǔ)戶可以查詢某時(shí)間段內(nèi)的流水賬;銀行領(lǐng)導(dǎo) 可以查詢某時(shí)間段內(nèi)不同地點(diǎn)的ATM的使用情況(存取款次 數(shù)、發(fā)生額等)。5 .實(shí)現(xiàn)排序功能:根據(jù)卡內(nèi)余額對(duì)儲(chǔ)戶進(jìn)行排序。6 .儲(chǔ)戶、銀行卡、ATM機(jī)和流水賬等數(shù)據(jù)存入文件。二、擴(kuò)展功能:1.定義用戶類型:用戶(用戶編號(hào),用戶名,密碼,類型),其 中,類型值為。表示超級(jí)用戶,為1表示普通用戶,超級(jí)用戶具得所有權(quán)限,普通用戶只具每瀏覽(查詢)權(quán)限。采用 順序表作為存儲(chǔ)結(jié)構(gòu)。2 .實(shí)現(xiàn)創(chuàng)建用戶功能。不少于3個(gè)超級(jí)用

3、戶和是10個(gè)普通用戶。3 .實(shí)現(xiàn)設(shè)置密碼功能。用戶可以修改自己的密碼。4 .實(shí)現(xiàn)登錄系統(tǒng)功能。當(dāng)用戶名和密碼輸入都正確后才能使用 該系統(tǒng)。5 .用戶數(shù)據(jù)以文本文件格式存儲(chǔ)。1 .數(shù)據(jù)類型如下:儲(chǔ)戶(身份證,戶名,密碼);銀行卡(主號(hào),身 份證,余額,開戶日期,限額),其中,限額表示當(dāng)天允許取款的 上限;ATM機(jī)(機(jī)器代碼,地址,總錢數(shù));流水賬(機(jī)器代碼, 卡號(hào),存取款,發(fā)生日期,發(fā)生額),其中,存取款值為0表示存 款為1表示取款。其中,“儲(chǔ)戶”和、“銀行卡”采用順序表作 為存儲(chǔ)結(jié)構(gòu),“流水賬”采用單鏈表作為存儲(chǔ)結(jié)構(gòu)。任務(wù)要求2 .根據(jù)需求分析給出概要設(shè)計(jì)和詳細(xì)設(shè)計(jì),并編程實(shí)現(xiàn)相關(guān)功能模 塊,

4、本系統(tǒng)包括以下功能模塊:實(shí)現(xiàn)統(tǒng)計(jì)功能、實(shí)現(xiàn)登錄系統(tǒng)功 能、實(shí)現(xiàn)創(chuàng)建用戶功能、實(shí)現(xiàn)設(shè)置密碼功能、實(shí)現(xiàn)存取款、查詢 等。3 .結(jié)合課題利用數(shù)據(jù)結(jié)構(gòu)相關(guān)知識(shí),利用C語(yǔ)言實(shí)現(xiàn)該系統(tǒng)的所有 上述功能,要求界面友善,程序運(yùn)行正常。4 .提交課程設(shè)計(jì)報(bào)告1份(具體寫作要求參考樣例),可運(yùn)行的系統(tǒng) 和源代碼電子版一套。參考文獻(xiàn)嚴(yán)蔚敏.數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版).北京:清華大學(xué)出版社譚浩強(qiáng).C語(yǔ)言程序設(shè)計(jì).(第三版)北京:清華大學(xué)出版社審查意見指導(dǎo)教師簽字:教研室主任簽字:2017 年 06 月 15 0說明:本表由指導(dǎo)教哪埴寫,由教研室主任審核后下達(dá)給選題學(xué)生,裝訂在設(shè)計(jì)(論文)首頁(yè)目錄1 需求分析11.1 存款1

5、1.2 取款11.3 看流水賬11.4 排序21.5 修改密碼21.6 查看ATM使用情況21.7 錄入信息21.8 恢曳限額22 概要設(shè)計(jì)32.1 數(shù)據(jù)類型的定義32.2 功能模塊結(jié)構(gòu)圖53 運(yùn)行環(huán)境74 開發(fā)工具和編程語(yǔ)言85 詳細(xì)設(shè)計(jì)95.1 主函數(shù)105.2 錄入函數(shù)115.3 加載和存儲(chǔ)函數(shù)115.4 輸出流水賬函數(shù)125.5 查看ATM使用情況函數(shù)126 程序編碼137 運(yùn)行結(jié)果188 心得體會(huì)209 參考文獻(xiàn)211需求分析ATM自助機(jī)便于儲(chǔ)戶存錢、取錢。按功能分為兩大系統(tǒng):個(gè)人用戶系統(tǒng)和銀行后臺(tái)系統(tǒng);個(gè)人用戶系統(tǒng)登錄(輸入正確的賬號(hào)或密碼才能進(jìn)入)、存款、取款、查看流水賬(查看用

6、戶最近存取款情況)、排序(此為超級(jí)用戶功能,可以查看所有 人的余額)、修改密碼(修改個(gè)人登錄密碼);銀行后臺(tái)系統(tǒng)aim使用情況(便于銀行人員管理atm機(jī))、錄入信息(包括錄入用戶及其銀行卡號(hào)信息和錄入aim信息)、恢復(fù)限頷(每天6點(diǎn)恢復(fù)所有 人的取款上限)。1.1 存款輸入金額,存入ATM,當(dāng)前AMT以及自己的余顫會(huì)增加并且自動(dòng)生成流 水賬。1.2 取款輸入取款金額,判斷它是否小于ATM總金頷并且小于當(dāng)天的限頷,當(dāng)前的 ATM金額減少,自己的余額和限額也會(huì)減少。1.3 查看流水賬輸出自己近段時(shí)間內(nèi)的所有操作,發(fā)生頷,以及時(shí)間。1.4 排序此為超級(jí)用戶功能,實(shí)現(xiàn)以余額對(duì)所有用戶排序并且輸出一些信

7、息。1.5 修改密碼修改用戶登錄密碼。1.6 查看ATM使用情況查看每一臺(tái)ATM的使用情況,輸出存取款發(fā)生額及其次數(shù)。1.7 錄入信息能錄入用戶、銀行卡以及ATM的信息。根據(jù)提示一步步輸入數(shù)據(jù),存入數(shù)組中,最后存入文件。1.8 恢復(fù)限額恢復(fù)用戶一天的限額。2概要設(shè)計(jì)2.1 數(shù)據(jù)類型的定義1 .定義用戶類型typudcf struct node typedef structchar numbcr5;用戶編號(hào)char Uscr_namcl 1;/用戶名char password7;/密碼im kind; 用戶類型Uscr;2 .定義時(shí)間類型lypeduf structint year;int mo

8、nth;int day;Data;3 .定義銀行卡類型U'pedef structchar cardnumbur20;銀行卡號(hào)char dcard19;/身份證號(hào)ini balance;余頷Data open;開戶時(shí)間im quota; 限額JBaiikcard;4,定義ATM類型t-pcdcf structchar codc5;機(jī)器代碼char address30;/地址int T()tal_moncy;取款機(jī)總金頷 ATM;5.定義流水賬類型U-pedef struct nodechar codc5;機(jī)器代碼char cardnumbcr2();/銀行卡號(hào)int access;存取

9、,0存款,1取款Data occurrence;/發(fā)生日期int money;發(fā)生頷struct node *ncxt;Book,*Link;2.2功能模塊結(jié)構(gòu)圖根據(jù)需求分析,為了滿足用戶的功能需求,按照軟件開發(fā)方法學(xué)中的模塊劃 分原則,我將本系統(tǒng)主要?jiǎng)澐譃閮蓚€(gè)亍系統(tǒng):個(gè)人用戶系統(tǒng)和銀行后臺(tái)系統(tǒng)。個(gè) 人用戶系統(tǒng)有如下功能:存款,取款,排序,流水賬,密碼;銀行后臺(tái)系統(tǒng)有如下功能:ATM使用情況,錄入信息,恢復(fù)限頡。各模塊之間的關(guān)系如圖1所示。圖1模塊結(jié)構(gòu)圖為了實(shí)現(xiàn)上述功能模塊,因此定義多個(gè)函數(shù)以及包含多個(gè)頭文件便于實(shí)現(xiàn),本系統(tǒng)定義的函數(shù)和功能如下:1 .函數(shù)void load 1 (User u

10、s|,int *n)加載用戶信息void load2(Bankcard ba);加載銀行卡信息void load3(ATM 前口);力口載 Atm 信息void load4(Link head);加載流水賬void display。;主界面void display1 0;個(gè)人用戶界面void display20;用戶后臺(tái)界面int L()gin(Uscr n);用戶登錄界面int Login2();銀行后臺(tái)登錄界面void save 1 (User usO,int n);存儲(chǔ)用戶信息void savc2(Bankcard ba,int n);存儲(chǔ)銀行卡信息void save3(ATM atQ,

11、int m);存儲(chǔ) Aim 信息void savc4(Link huad);存儲(chǔ)流水賬信息void add(User usQ,Bankcard baj.ATM at。,int *n,int *m);錄入用戶和銀行卡信息void inputRccord(Uscr us,Bankcard baQjnt i);錄入一個(gè)信息void input ATM (ATM at ,int i);錄入一個(gè) Alm 信息void outpul(Uscr us0,Bankcard ba|,int n);揄出排序后的用戶信息void PrintRccord(Uscr *uTBankcard *b);輸出一個(gè)信息void

12、 sort(Uscr us。,Bankcard ba口,int n);用戶排序int deposit0nt *p,int *a);存款int withdr(Bankcard *p,ATM 取款int findAtm(ATM atQ,int m);查找 atm 是否存在void generate 1 (Link hcad,char codc|,char money);生成 流水賬 void gcncratc2(Link head,char code口,char cardnumber,int money);生成流水賬void change (User *u);更改密碼

13、void rcc<)vcry(Bankcard baQ.L scr us 口,ini n);恢售限額void seebookfUnk head,char cardnumburQ);查看流水賬int Printbook(Link p);輸出一個(gè)流水賬void sccAtm(Liiik head,ATM at。,int m);查看 Alm 使用情況PrintAtm(ATM at,int numbcrl Jnt numbcr2,int monuyl jnt monuy2);輸出所有 Alm 使用情況。2 .頭文件definc.h定義結(jié)構(gòu)體類型、包含系統(tǒng)頭文件、以及函數(shù)聲明save.h存儲(chǔ)數(shù)據(jù)到

14、文件display.h顯示界面load.h加載文件到數(shù)組或鏈表add.h 錄入信息ouiputh輸出排序后的信息sort.h排序(按余額)deposith存款withdraw.h 取款findAtm.h 查找 ATMgciicratcBook.hchangc_password.h 修改密碼rccovc_quota.h 恢復(fù)限額secbook.h 查看現(xiàn)在sccAtm.ho查看ATM使用情況3運(yùn)行環(huán)境1 .硬件環(huán)境:PC機(jī)內(nèi)存8G;硬盤1000G2 .軟件環(huán)境:操作系統(tǒng):windows74開發(fā)工具和編程語(yǔ)言開發(fā)環(huán)境:Visual C+編程語(yǔ)言:C語(yǔ)言5詳細(xì)設(shè)計(jì)在概要設(shè)計(jì)的基礎(chǔ)上,對(duì)每個(gè)模塊進(jìn)行內(nèi)

15、部邏輯處理部分詳細(xì)設(shè)計(jì)。下面分 別列出各個(gè)模塊具體實(shí)現(xiàn)流程圖:5.1主函數(shù)KiM I WtU5.2錄入函數(shù)5.3加載和存儲(chǔ)函數(shù)調(diào)用fscanf函數(shù)把數(shù)據(jù)讀人數(shù)組或錢表5.4輸出流水賬函數(shù)5.5查看ATM使用情況函數(shù)P-p-naxt根據(jù)詳細(xì)設(shè)計(jì)的流程囪轉(zhuǎn)化為如下代碼,下面列出主函數(shù)代碼:#includc1tdcfinc.hM#indudcHsavc.hn#includcndisplay.hn#includc,load.hu#includc,tadd.hH#includc"outpulh”#incIudcHsc)rt.hH#includcudeposit.hn#includu"

16、withdrawh”#includc,findAtm.hH#incIudcugcncrateBook.hM#incIudcHchaiigr_password.hH#includcHrccovcryr_qu()ta.hn#includcHsccb()()k.hH#includcHsccAtm.hnint mainO(int n,select,k,g,choicc,m,t,money;User usN;Bankcard baN;ATM at|M|;Link bk;bk=(Link)malloc(sizeof(Book);bk->next=NU LL;loadl(us,&n);load

17、2(ba);load3(al,&m);load4(bk);while。)systcm(ncls,r);displayO;scanf(M%dn,&sclcct);if(sclcct=l)g= find Atm (at,m);if3=-l)k=Login(us,n);if(k!=-l)while。)sysirm("cls");displaylQ;0;scanf("%d”,&choicu);switch(choicc)casel:m()ncy=clcp()sit(&bak.balaiicc,&atj.T()Val_m()iicy)

18、;gciicratcl(bk,alg.code,bak.cardnumber,moncy);savc2(bai);savc3(at,m);savc4(bk);brcak;/存款ease 2:moncy=withdraw(&bak,&a咽);取款 if(moncy!=-l)gencratc2(bk,atg.codc,bak.cardnumber,money);savc2(bai);savc3(at,m);savc4(bk);br cak;ease 3:scxbook(bk,bak.cardnumbcr);brcak;/查看流水賬ease 4:if(usk.kind=0)sort(

19、us,ba,n);elseprintf("權(quán)限不足,請(qǐng)重新選擇n");systcm("pausd*);t=O;brcak; 排序ease 5:chaiigc(usk.passw()rd);savcl (us,n);brcak;/修改密碼ease 6:t=l ;brcak;break;else if(sclect=9)if(L()gin20=l)whilc(l)systcm("cls");display2。;scanf(M%dn,&ch()ice);switch (choice)ease 1 :sceAtm(bk,at,m);brcak;

20、/atm 使用情況ease 2:add(us,ba,at,&n,&m);brcak;/錄入信息ease 3:rccovery(ba,usq);brcak;恢復(fù)限額return。; 退出prim/由于您的惡意輸入,您的銀行卡已被沒收,請(qǐng)前往銀行找回!W);systemfausc11);return 0;7運(yùn)行結(jié)果以下為排序和查詢流水賬結(jié)果測(cè)試:J nC:UsersAdministratorDesktopATMDebugATM.e)歡迎使用ATM自助系統(tǒng)請(qǐng)輸入對(duì)應(yīng)的數(shù)字進(jìn)行操作1進(jìn)入用戶系統(tǒng) 9進(jìn)入銀行后臺(tái)系統(tǒng)1請(qǐng)輸入該ATM的機(jī)器代碼(ATM右上角.例如1111) 1111請(qǐng)輸入

21、您的賬號(hào)1234567890請(qǐng)輸入您的密碼2345G7“C:UsersAdministratorDesktopATMDebugATM.exe”兩序出IT少、查詢 修改密碼型里 C:UsersAdministratorDesktopATMDebug1354月用用銀身余限款詢改 存查修款序出 取排退 2 4 6戶戶戶行份額題編名類卡證.:號(hào):0119:1234567890型:0號(hào):1234567891011131415號(hào):1234567891011131411950010000用戶編號(hào):。17用戶名:2345678910用戶類型:1銀行卡號(hào):122365478955102357“身份證號(hào):245987456321475862條凝:4000限額:1。請(qǐng)按任意筵繼續(xù)1存款2取款3查詢4排序5修改密碼6退出3以下為存取記錄: 機(jī)器代碼為:”11 操作為:存款發(fā)生日期為:2017-06-26發(fā)生額為:5000以下為存取記錄: 命器代碼為:1111 來作為:取款發(fā)生日期為:2017-06-27 發(fā)生額為:5

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論