




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、信息科學(xué)與工程學(xué)院數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告課程設(shè)計(jì)名稱:ATM的設(shè)計(jì)與實(shí)現(xiàn)專業(yè)班級(jí):學(xué)生姓名:學(xué)號(hào):201616010107指導(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指導(dǎo)教師同組姓名無主要內(nèi)容1、 基本功能:1 .定義儲(chǔ)戶、銀行卡、ATMM和流水賬等數(shù)據(jù)類型。2 .實(shí)現(xiàn)錄入信息功能:錄入信息包括儲(chǔ)戶和銀行卡(上述信息都不少于100條)。3 .實(shí)現(xiàn)存取款功能:存款時(shí),修改存折余額并將存款明細(xì)登記在流水賬中,取款時(shí),要判斷取款金額是否大于余額以及是否超過限
2、額,同時(shí)要判斷是否大于ATM機(jī)的剩余錢數(shù),取款成功后修改存折余額以及ATMB的總錢數(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ǔ)戶、銀行卡、ATMM和流水賬等數(shù)據(jù)存入文件。2、 擴(kuò)展功能:1 .定義用戶類型:用戶(用戶編號(hào),用戶名,密碼,類型),其中,類型值為0表示超級(jí)用戶,為1表示普通用戶,超級(jí)用戶具備所有權(quán)限,普通用戶只具備瀏覽(查詢)權(quán)限。采用順序表作為存儲(chǔ)結(jié)構(gòu)。2 .實(shí)現(xiàn)創(chuàng)建用戶功能。不少于3個(gè)超級(jí)用戶和是10個(gè)普通
3、用戶。3 .實(shí)現(xiàn)設(shè)置密碼功能。用戶可以修改自己的密碼。4 .實(shí)現(xiàn)登錄系統(tǒng)功能。當(dāng)用戶名和密碼輸入都正確后才能使用該系統(tǒng)。5.用戶數(shù)據(jù)以文本文件格式存儲(chǔ)。任務(wù)要求1 .數(shù)據(jù)類型如下:儲(chǔ)戶(身份證,戶名,密碼);銀行卡(身份證,余額,開戶日期,限額),其中,限額表示當(dāng)天允許取款的上限;ATMM(機(jī)器代碼,地址,總錢數(shù));流水賬(機(jī)器代碼,七號(hào),存取款,發(fā)生日期,發(fā)生額),其中,存取款值為0表示存款為1表示取款。其中,“儲(chǔ)戶”和、“銀行卡”采用順序表作為存儲(chǔ)結(jié)構(gòu),“流水賬”采用單鏈表作為存儲(chǔ)結(jié)構(gòu)。2 .根據(jù)需求分析給出概要設(shè)計(jì)和詳細(xì)設(shè)計(jì),并編程實(shí)現(xiàn)相關(guān)功能模塊,本系統(tǒng)包括以卜功能模塊:實(shí)現(xiàn)統(tǒng)計(jì)功能、
4、實(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語言實(shí)現(xiàn)該系統(tǒng)的所有上述功能,要求界面友善,程序運(yùn)行正常。4 .提交課程設(shè)計(jì)報(bào)告1份(具體寫作要求參考樣例),可運(yùn)行的系統(tǒng)和源代碼電子版一套。奔f文獻(xiàn)嚴(yán)蔚敏.數(shù)據(jù)結(jié)構(gòu)(C語言版).北京:清華大學(xué)出版社譚浩強(qiáng).C語言程序設(shè)計(jì).(第三版)北京:清華大學(xué)出版社審查意見指導(dǎo)教師簽字:教研室主任簽字:2017年06月15日說明:本表由指導(dǎo)教師填寫,由教研室主任審核后下達(dá)給選題學(xué)生,裝訂在設(shè)計(jì)(論文)首頁目錄11.1 存款11.2 取款11.3 查看流水賬11.4 排序21.5 修改密碼21
5、.6 查看ATM使用情況21.7 錄入信息21.8 恢復(fù)限額232.1 數(shù)據(jù)類型的定義32.2 功能模塊結(jié)構(gòu)圖57895.1 主函數(shù)1.05.2 錄入函數(shù)1.15.3 加載和存儲(chǔ)函數(shù)1.15.4 輸出流水賬函數(shù)1.25.5 查看ATM使用情況函數(shù)1.21.31.82.01234567892.11需求分析ATM自助機(jī)便于儲(chǔ)戶存錢、取錢。按功能分為兩大系統(tǒng):個(gè)人用戶系統(tǒng)和銀行后臺(tái)系統(tǒng);個(gè)人用戶系統(tǒng)登錄(輸入正確的賬號(hào)或密碼才能進(jìn)入)、存款、取款、查看流水賬(查看用戶最近存取款情況)、排序(此為超級(jí)用戶功能,可以查看所有人的余額)、修改密碼(修改個(gè)人登錄密碼);銀行后臺(tái)系統(tǒng)atm使用情況(便于銀行人
6、員管理atm機(jī))、錄入信息(包括錄入用戶及其銀行卡號(hào)信息和錄入atm信息)、恢復(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ì)所有用戶排序并且輸出一些信息。1.5 修改密碼修改用戶登錄密碼。1.6 查看ATM使用情況查看每一臺(tái)ATM的使用情況,輸出存取款發(fā)生額及其次數(shù)。1.7 錄入信息能錄入用戶
7、、銀行卡以及ATM的信息。根據(jù)提示一步步輸入數(shù)據(jù),存入數(shù)組中,最后存入文件。1.8 恢復(fù)限額恢復(fù)用戶一天的限額。編輯版 word2概要設(shè)計(jì)2.1數(shù)據(jù)類型的定義1. 定義用戶類型typedefstructnodetypedefstructcharnumber5;/用戶編號(hào)charUser_name11;/傭戶名charpassword7;/S碼intkind;/用戶類型User;2. 定義時(shí)間類型typedefstructintyear;intmonth;intday;Data;3. 定義銀行卡類型typedefstructcharcardnumber20;/用艮行卡號(hào)cha門dcard19;/
8、身份證號(hào)intbalance;/余額Dataopen;/開戶時(shí)間intquota;/限額Bankcard;4. 定義ATM類型typedefstructcharcode5;/機(jī)器代碼charaddress30;/ftMintTotal_money;/取款機(jī)總金額ATM;5 .定義流水賬類型typedefstructnodecharcode5;/機(jī)器代碼charcardnumber20;/用艮行卡號(hào)intaccess;/存取,0存款,1取款Dataoccurrence;/發(fā)生日期intmoney;/發(fā)生額structnode*next;Book,*Link;6 .2功能模塊結(jié)構(gòu)圖根據(jù)需求分析,為
9、了滿足用戶的功能需求,按照軟件開發(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ù)void10adi(Userus口,int*n);加載用戶信息void10ad2(Bankcardba)加載銀行卡信息void10ad3(ATMat);加載Atm信息void10ad4(Linkhead);加載流水賬vo
10、iddisplay。;主界面voiddisplay1();個(gè)人用戶界面voiddisplay2()用戶后臺(tái)界面intLogin(Userus,intn);用戶登錄界面intLogin2();銀行后臺(tái)登錄界面voidsave1(Userus口,intn)存儲(chǔ)用戶信息voidsave2(Bankcardba,intn)存儲(chǔ)銀行卡信息voidsave3(ATMat,intm);存儲(chǔ)Atm信息voidsave4(Linkhead)存儲(chǔ)流水賬信息voidadd(Userus,Bankcardba,ATMat,int*n,int*m);錄入用戶和銀行卡信息voidinputRecord(Userus口,B
11、ankcardba口,inti);錄入一個(gè)信息voidinputATM(ATMat,inti);錄入一個(gè)Atm信息voidoutput(Userus口,Bankcardba口,intn);輸出排序后的用戶信息voidPrintRecord(User*u,Bankcard*b);輸出一個(gè)信息voidsort(Userus,Bankcardba,intn);用戶排序intdeposit(int*p,int*a);存款intwithdraw(Bankcard*p,ATM*a);取款intfindAtm(ATMat,intm);查找atm是否存在voidgenerate1(Linkhead,charc
12、ode,charcardnumber,intmoney);生成流水賬voidgenerate2(Linkhead,charcode口,charcardnumber,intmoney注成流水賬voidchange(User*u)更改密碼voidrecovery(Bankcardba,Userus,intn)恢復(fù)限額voidseebook(Linkhead,charcardnumber)查看流水賬intPrintbook(Linkp);輸出一個(gè)流水賬voidseeAtm(Linkhead,ATMat,intm);查看Atm使用情況PrintAtm(ATMat,intnumber1,intnumbe
13、r2,intmoney1,intmoney2);輸出所有Atm使用情況。2 .頭文件define.h定義結(jié)構(gòu)體類型、包含系統(tǒng)頭文件、以及函數(shù)聲明save.h存儲(chǔ)數(shù)據(jù)到文件display.h顯示界面load.h加載文件到數(shù)組或鏈表add.h錄入信息output.h輸出排序后的信息sort.h排序(按余額)deposit.h存款withdraw.h取款findAtm.h查找ATMgenerateBook.hchange_password.l#改密碼recovery_quota.h恢復(fù)限額seebook.h查看現(xiàn)在seeAtm.h。查看ATM使用情況3 運(yùn)行環(huán)境1 .硬件環(huán)境:PC機(jī)內(nèi)存8G;硬盤1
14、000G2 .軟件環(huán)境:操作系統(tǒng):windows7編輯版 word4開發(fā)工具和編程語言開發(fā)環(huán)境:VisualC+編程語言:C語言5詳細(xì)設(shè)計(jì)在概要設(shè)計(jì)的基礎(chǔ)上,對(duì)每個(gè)模塊進(jìn)行內(nèi)部邏輯處理部分詳細(xì)設(shè)計(jì)。下面分別列出各個(gè)模塊具體實(shí)現(xiàn)流程圖:5.1主函數(shù)編輯版word5.2錄入函數(shù)|始Oiartsi:3viniselect;HxMT.四周錄入用戶酊桀打卡后思函數(shù)FIfsrIe亡32+JH愛人聯(lián)TMe總由依5.3加載和存儲(chǔ)函數(shù)編輯版wordrniiKanf函敝出以加再入墳機(jī)度曾表調(diào)用MintflE數(shù)據(jù)寫到文件5.4輸由流水賬函數(shù)編輯版word5.5查看ATM使用情況函數(shù)71Wjnit4fi'Hi
15、ir1p|4Mi/一Fcnw?minilwrI|中l(wèi)dIINJa/N,|kiho-hejbd-n芷Kt;/X.->«£>cJaX,I.ip-E*nu*liw”“*4:mn,v'1rLi-ennc竄I*p-j-monev;6程序編碼根據(jù)詳細(xì)設(shè)計(jì)的流程圖轉(zhuǎn)化為如下代碼,下面列出主函數(shù)代碼:#include"define.h"#include"save.h"#include"display.h"#include"load.h"#include"add.h"#in
16、clude"output.h"#include"sort.h"#include"deposit.h"#include"withdraw.h"#include"findAtm.h"#include"generateBook.h"#include"change_password.h"#include"recovery_quota.h"#include"seebook.h"#include"seeAtm.h&qu
17、ot;intmain()intn,select,k,g,choice,m,t,money;UserusN;編輯版 wordBankcardbaN;ATMatM;Linkbk;bk=(Link)malloc(sizeof(Book);bk->next=NULL;load1(us,&n);load2(ba);load3(at,&m);load4(bk);while(1)system("cls");display();scanf("%d",&select);if(select=1)g=findAtm(at,m);if(g!=-1)
18、k=Login(us,n);if(k!=-1)while(1)system("cls");display1();t=0;scanf("%d",&choice);switch(choice)case1:money=deposit(&bak.balance,&atg.Total_money);generate1(bk,atg.code,bak.cardnumber,money);save2(ba,n);save3(at,m);save4(bk);breOkt/case2:money=withdraw(&bak,&atg
19、);/取款if(money!=-1)generate2(bk,atg.code,bak.cardnumber,money);save2(ba,n);save3(at,m);save4(bk);break;case3:seebook(bk,bak.cardnumber);break|/ff流水賬case4:if(usk.kind=0)sort(us,ba,n);elseprintf("權(quán)限不足,請(qǐng)重新選擇n");system("pause");t=0;break;排序case5:change(usk.password);save1(us,n);breOk改
20、密碼case6:t=1;break;if(t=1)break;elseif(select=9)if(Login2()=1)while(1)system("cls");display2();scanf("%d",&choice);switch(choice)case1:seeAtm(bk,at,m);break;atrl£用情況case2:add(us,ba,at,&n,&m);break1/入信息case3:recovery(ba,us,n);break板復(fù)限額case4:return0;/退出elseprintf(&q
21、uot;由于您的惡意輸入,您的銀行卡已被沒收,請(qǐng)前往銀行找回!n");system("pause");return0;7運(yùn)行結(jié)果以下為排序和查詢流水賬結(jié)果測(cè)試:沈迎產(chǎn)更用自助系統(tǒng)請(qǐng)輸入注應(yīng)的數(shù)字進(jìn)行操作1辿入用戶系統(tǒng)9遇入銀行后臺(tái)系統(tǒng)1請(qǐng)輸入該MM的機(jī)器代碼口”右卜角.例如1111)1111請(qǐng)輸入您的賬號(hào)12345G7890請(qǐng)輸入您的密碼2345G7111C:UsersAdministrdtorXDesktopXATMXDebugSATM.sxe1存款2取款3查詢4排序5修改密碼6退用編輯版wor1*,工:U5eriAdministrat
22、okPp 灑 I MDe bug編名類k證.:.戶戶戶行份額額用用用銀盤余限號(hào);0017:234578916型: 1號(hào):12235H789551G23S?M號(hào):245987H5E321i*758G24000ieee 7" C ;MJ sers'.d min i streto rDesktopAT取款 排序 二縣出h存款2雙款3香詢4排序5修改密碼6退出七月戶褊號(hào):0119月戶名:1234567890用戶類型:0銀行卡號(hào):123456抬91011身傷定呢123i+567891011余翱;195。除領(lǐng):10600清按E息舞繼續(xù)一一1存款3查南5修改密碼以下為存取記錄:機(jī)器代碼為:”11操作為;存款發(fā)生日期為二2017-0G發(fā)生嵌為;5009以下為存取記錄:機(jī)器代碼為:1111操作為:取款發(fā)生日期為二2011戔-27發(fā)生額為:S0G請(qǐng)接任意耀繼續(xù).8心得體會(huì)本學(xué)期,當(dāng)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度農(nóng)業(yè)科技股份代持與農(nóng)業(yè)現(xiàn)代化協(xié)議
- 二零二五年度道路施工臨時(shí)施工噪聲污染防治合同
- 2025年度機(jī)場(chǎng)候機(jī)廳地板安裝與旅客舒適度提升合同
- 2025年度離職員工離職補(bǔ)償及離職手續(xù)辦理協(xié)議
- 2025年度環(huán)保產(chǎn)業(yè)投資基金合作協(xié)議書
- 2025年度高校畢業(yè)生就業(yè)服務(wù)與職業(yè)能力提升協(xié)議
- 2025年度離婚財(cái)產(chǎn)分配協(xié)議書及子女撫養(yǎng)教育合同
- 2025年度紗窗品牌授權(quán)與區(qū)域代理合同協(xié)議
- 二零二五年度水利工程款結(jié)算與水生態(tài)修復(fù)合同
- 二零二五年度電商平臺(tái)入駐標(biāo)準(zhǔn)合同
- 村衛(wèi)生室靜脈輸液規(guī)范和安全管理制度
- 研究大腦可塑性與學(xué)習(xí)記憶機(jī)制
- 供應(yīng)商大會(huì)總結(jié)報(bào)告
- 外研版英語四年級(jí)下冊(cè)閱讀理解練習(xí)(含答案)
- JGJ127-2000 看守所建筑設(shè)計(jì)規(guī)范
- 2024施工隊(duì)中途退場(chǎng)協(xié)議書
- 名著閱讀(解析版)-2024年中考語文真題(江蘇專用)
- JTG-QB-003-2003公路橋涵標(biāo)準(zhǔn)圖鋼筋混凝土蓋板涵
- (高清版)JTG 6310-2022 收費(fèi)公路聯(lián)網(wǎng)收費(fèi)技術(shù)標(biāo)準(zhǔn)
- DZ∕T 0203-2020 礦產(chǎn)地質(zhì)勘查規(guī)范 稀有金屬類(正式版)
- 會(huì)議新聞寫作要求與技巧
評(píng)論
0/150
提交評(píng)論