

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 信息科學(xué)與技術(shù)學(xué)院</b></p><p> 程序設(shè)計(jì)基礎(chǔ)課程設(shè)計(jì)報(bào)告</p><p> 題目名稱(chēng): ATM取款機(jī)程序 </p><p> 學(xué)生姓名: 徐亞豪 </p><p>
2、 學(xué) 號(hào): 2011508021 </p><p> 專(zhuān)業(yè)班級(jí): 計(jì)算機(jī)科學(xué)與技術(shù)11級(jí)1班 </p><p> 指導(dǎo)教師: 高攀 </p><p> 2012年 7 月 6 日</p><p><
3、;b> 目 錄</b></p><p> 1 課程設(shè)計(jì)題目與要求3</p><p><b> 1.1設(shè)計(jì)題目3</b></p><p><b> 1.2設(shè)計(jì)要求3</b></p><p><b> 2 總體設(shè)計(jì)4</b></p>
4、;<p><b> 3 詳細(xì)設(shè)計(jì)5</b></p><p> 3.1數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)5</p><p> 3.2主模塊設(shè)計(jì)5</p><p><b> 4 運(yùn)行結(jié)果8</b></p><p> 5 課程設(shè)計(jì)總結(jié)10</p><p> 1 課程設(shè)
5、計(jì)題目與要求</p><p><b> 1.1設(shè)計(jì)題目</b></p><p><b> ATM取款機(jī)程序</b></p><p><b> 1.2設(shè)計(jì)要求</b></p><p> (1)只能使用C/C++語(yǔ)言,源程序要有適當(dāng)?shù)淖⑨專(zhuān)钩绦蛉菀组喿x</p>
6、<p> ?。?)至少采用文本菜單界面(如果能采用圖形菜單界面更好)</p><p> ?。?)學(xué)生可自動(dòng)增加新功能模塊</p><p> 1.3、問(wèn)題的解決方案: </p><p> 根據(jù)系統(tǒng)功能要求,可以將問(wèn)題解決分為以下步驟: </p><p> (1) 分析系統(tǒng)中的各個(gè)實(shí)體之間的關(guān)系及其屬性和行為;</p&g
7、t;<p> (2)根據(jù)問(wèn)題描述,設(shè)計(jì)系統(tǒng)的類(lèi)層次; </p><p> ?。?)完成類(lèi)層次中各個(gè)類(lèi)的描述(包括屬性和方法); </p><p> (4) 完成類(lèi)中各個(gè)成員函數(shù)的定義;</p><p> ?。?) 完成系統(tǒng)的應(yīng)用模塊;</p><p><b> (6) 功能調(diào)試;</b></p&
8、gt;<p> (7)完成系統(tǒng)總結(jié)報(bào)告以及系統(tǒng)使用說(shuō)明書(shū);</p><p><b> 2 總體設(shè)計(jì)</b></p><p><b> 2.1總體框架圖</b></p><p><b> 2.2流程圖</b></p><p><b> 3 詳細(xì)設(shè)
9、計(jì)</b></p><p><b> 3.1數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)</b></p><p> class Card{</p><p><b> public:</b></p><p> Card(char a[10],int b,double c)</p><p>
10、<b> {</b></p><p> strcpy(num,a);</p><p><b> code=b; </b></p><p><b> money=c;</b></p><p><b> }</b></p><p&
11、gt; char num[10];</p><p><b> int code;</b></p><p> double money;</p><p><b> };</b></p><p> struct node</p><p><b> {<
12、/b></p><p> Card *cod;</p><p> node *next;</p><p><b> };</b></p><p> 在該程序中定義了類(lèi)Card,,同時(shí)聲明了3個(gè)數(shù)據(jù)成員。該類(lèi)有一個(gè)構(gòu)造函數(shù),用來(lái)給數(shù)據(jù)成員賦值。3個(gè)數(shù)據(jù)成員用來(lái)保存用戶的信息,包括卡號(hào),密碼,帳戶余額。鏈表中聲
13、明了一個(gè)Card類(lèi)類(lèi)型的指針,以通過(guò)鏈表中的結(jié)點(diǎn)訪問(wèn)該指針,從而訪問(wèn)到定義在類(lèi)中的數(shù)據(jù)成員,即用戶信息。函數(shù)要訪問(wèn)數(shù)據(jù)成員時(shí),都用這種指向方式,如head->cod->num。而另外一個(gè)node指針的數(shù)據(jù)成員,指向當(dāng)前結(jié)點(diǎn)的下一個(gè)結(jié)點(diǎn),利用這種方法遍歷鏈表。將類(lèi)定義和鏈表結(jié)合起來(lái),可以簡(jiǎn)化該問(wèn)題,在一定程度上減少了程序代碼。然后再將文件里的信息依次讀到鏈表的各個(gè)結(jié)點(diǎn)中,就完成了數(shù)據(jù)成員即用戶信息的初始化,使問(wèn)題變得簡(jiǎn)單。這就
14、是用類(lèi)定義和鏈表的好處所在。</p><p><b> 3.2主模塊設(shè)計(jì)</b></p><p><b> 1. 密碼輸入模塊</b></p><p><b> 圖3.21</b></p><p><b> 2.取款模塊</b></p>
15、<p><b> 3.轉(zhuǎn)賬模塊</b></p><p><b> 4.查詢(xún)模塊</b></p><p><b> 5.修改密碼</b></p><p><b> 4 運(yùn)行結(jié)果</b></p><p><b> 出錯(cuò)提醒界面
16、:</b></p><p><b> 5</b></p><p> 用戶退出時(shí)輸出界面:</p><p><b> 5 課程設(shè)計(jì)總結(jié)</b></p><p> 該課程設(shè)計(jì)的題目是設(shè)計(jì)一個(gè)ATM模擬程序。在設(shè)計(jì)任務(wù)中,為盡可能把它模擬得跟真實(shí)的ATM接近一些,要求要具有以下功能:取
17、款,查詢(xún)余額,轉(zhuǎn)帳,更改密碼,退卡,鎖卡等。同時(shí)要求界面要美觀,友好,易操作。在技術(shù)上要把所有用戶的信息以密文形式保存在數(shù)據(jù)文件中,且用戶輸入密碼時(shí)不能以明文形式顯示在屏幕上。</p><p> 首先,由于要保存用戶的帳號(hào),密碼,余額等個(gè)人信息,所以考慮用類(lèi)來(lái)實(shí)現(xiàn),將這三種信息設(shè)計(jì)為類(lèi)的數(shù)據(jù)成員。文件中保存的也不止一個(gè)人的信息,而這些用戶的信息又都訪問(wèn),所以在類(lèi)的基礎(chǔ)上再構(gòu)建鏈表。通過(guò)返回鏈表的頭結(jié)點(diǎn),外部函數(shù)
18、只要遍歷鏈表則可訪問(wèn)文件中所有用戶的信息。為安全起見(jiàn),用戶的信息是加密后再存入數(shù)據(jù)文件中的,在這個(gè)地方就要用到加密的函數(shù)。所以總的來(lái)說(shuō),這個(gè)程序是將類(lèi),鏈表,文件這三大塊的知識(shí)結(jié)合在一起,只要將這些條理理清楚,這個(gè)任務(wù)可以說(shuō)已經(jīng)完成一半了。這是分析設(shè)計(jì)這個(gè)程序的過(guò)程。</p><p> 接下來(lái),就是寫(xiě)程序,實(shí)現(xiàn)函數(shù)功能的過(guò)程了。在實(shí)現(xiàn)過(guò)程中實(shí)現(xiàn)了取款,查詢(xún)余額,轉(zhuǎn)帳,更改密碼,退卡,鎖卡等功能函數(shù),通過(guò)主函數(shù)調(diào)
19、用這些函數(shù)來(lái)完成相應(yīng)的功能。在每個(gè)功能函數(shù)中都有錯(cuò)誤提醒和相應(yīng)的操作,退出程序或重新輸入。該部分也有涉及到算法。由于要實(shí)現(xiàn)的功能比較多,所以函數(shù)的代碼也比較長(zhǎng)。編寫(xiě)的過(guò)程中難免會(huì)出現(xiàn)錯(cuò)誤,在同學(xué)和老師的幫助下解決了出現(xiàn)的問(wèn)題。</p><p> 最后是界面的設(shè)計(jì)以及測(cè)試的過(guò)程??紤]到對(duì)用戶的友好性,在每次輸入前都有提醒語(yǔ)句,同時(shí)在用戶選擇操作前也有菜單輸出以提示用戶。用戶三次輸入錯(cuò)誤ATM取款機(jī)即鎖卡??偟膩?lái)說(shuō)
20、,界面還算美觀,易于操作。測(cè)試主要是測(cè)試功能函數(shù)是否能達(dá)到預(yù)定的要求,還有就是錯(cuò)誤測(cè)試。當(dāng)用戶的輸入出錯(cuò)或者進(jìn)行錯(cuò)誤的操作時(shí),該程序能提醒擁護(hù)所出現(xiàn)的錯(cuò)誤,并對(duì)不同的錯(cuò)誤采取不同的解決方案。測(cè)試是程序設(shè)計(jì)中必不可少的步驟,因?yàn)檫@是驗(yàn)證程序是否能達(dá)到某些功能的最好方法。測(cè)試也有助與我們發(fā)現(xiàn)程序中的缺點(diǎn),從而幫助我們完善程序,編寫(xiě)出更健壯,功能更強(qiáng)大的程序。</p><p><b> 參考文獻(xiàn)</b
21、></p><p> 王挺,周會(huì)平,賈麗麗,徐錫山。C++程序設(shè)計(jì)(第二版)。北京:清華大學(xué)出版社,2004</p><p> Bruce Eckel。C++編程思想(第二版,影印版)。北京:機(jī)械工程出版社,2002</p><p> Bjarne Stroustrup。C++程序設(shè)計(jì)語(yǔ)言(特別版,影印版)。北京:高等教育出版社,2001</p
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 銀行atm自動(dòng)取款機(jī)系統(tǒng)課程設(shè)計(jì)
- 銀行atm自動(dòng)取款機(jī)系統(tǒng)課程設(shè)計(jì)
- atm銀行自動(dòng)取款機(jī)c程序
- c++課程設(shè)計(jì)---建行atm取款機(jī)管理系統(tǒng)
- atm自動(dòng)取款機(jī)系統(tǒng)課程設(shè)計(jì)說(shuō)明書(shū)
- atm自動(dòng)取款機(jī)系統(tǒng)設(shè)計(jì)
- atm自動(dòng)取款機(jī)模擬設(shè)計(jì)
- atm機(jī)課程設(shè)計(jì)--atm自動(dòng)粗取款系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)-銀行atm存取款機(jī)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- atm自動(dòng)取款機(jī)系統(tǒng)需求分析
- atm自動(dòng)取款機(jī)用例圖
- atm自助取款機(jī)系統(tǒng)的分析與設(shè)計(jì)
- 基于單片機(jī)自動(dòng)取款機(jī)系統(tǒng)課程設(shè)計(jì)
- c_課程設(shè)計(jì)——自助取款機(jī)軟件設(shè)計(jì)
- 銀行自動(dòng)存取款機(jī)(atm機(jī))怎樣存錢(qián)
- atm自動(dòng)存取款機(jī)服務(wù)指南
- c_課程設(shè)計(jì)—自動(dòng)取款機(jī)模擬軟件設(shè)計(jì)
- java課程設(shè)計(jì)報(bào)告--atm存取款系統(tǒng)
- 自動(dòng)取款機(jī)畢業(yè)設(shè)計(jì)---銀行取款機(jī)操作軟件的設(shè)計(jì)
- c_課程設(shè)計(jì)—自動(dòng)存取款機(jī)軟件設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論