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