課程設(shè)計(jì)報(bào)告--atm取款機(jī)程序_第1頁(yè)
已閱讀1頁(yè),還剩11頁(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、<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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論