版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 電子信息學(xué)院</b></p><p><b> 軟件工程系</b></p><p> 課 程 設(shè) 計 報 告</p><p> ?。?013 -2014 第 2學(xué)期)</p><p> 課程設(shè)計類型:面向?qū)ο蟪绦蛟O(shè)計</p><p&g
2、t; 題目:ATM自動粗取款系統(tǒng)</p><p><b> 目錄</b></p><p><b> 目錄1</b></p><p><b> 1. 問題分析2</b></p><p> 1.1 問題描述2</p><p> 1.2 要求
3、分析2</p><p><b> 2. 總體設(shè)計2</b></p><p> 2.1 功能分析2</p><p> 2.2 數(shù)據(jù)抽象2</p><p> 2.3 類的定義3</p><p> 2.4 總體結(jié)構(gòu)3</p><p><b>
4、3.詳細(xì)設(shè)計3</b></p><p> 3.1 系統(tǒng)的停頓4</p><p><b> 3.2 主頁面4</b></p><p><b> 3.3 登陸4</b></p><p> 3.4 功能界面5</p><p><b> 3.
5、5 存款6</b></p><p><b> 3.6 取款6</b></p><p><b> 3.7 查詢7</b></p><p><b> 3.8 退出7</b></p><p><b> 4. 功能測試7</b><
6、;/p><p> 4.1 本系統(tǒng)的主界面7</p><p><b> 4.2 界面8</b></p><p> 5.遇到的問題12</p><p> 6. 課設(shè)小結(jié)12</p><p> 參 考 文 獻(xiàn)13</p><p><b> 1. 問題
7、分析</b></p><p><b> 1.1 問題描述</b></p><p> 本次C++課程設(shè)計題目是“ATM取款機(jī)程序”。</p><p> (1)軟件用途:ATM取款</p><p> (2)功能概述:模擬ATM取款機(jī) 登陸、取款、查詢。</p><p>&l
8、t;b> 1.2 要求分析</b></p><p> 根據(jù)題目要求,做出如下的具體分析:</p><p> 從需求可以發(fā)現(xiàn)軟件只需要一個ATM類,可以主要分為主頁,主頁面zhuyemian();</p><p> 登陸denglu();功能界面djmian();查詢chaxun();取款qukuan();存款cunkuan();退出tuic
9、hu();幾個主要的公有類和一個存款數(shù)數(shù)目私有類zong()。</p><p> 其中,主頁面zhuyemian()和操作界面djmian()兩個函數(shù)用于接受輸入用戶的操作項(xiàng)目編號,用戶輸入編號后跳轉(zhuǎn)到相對應(yīng)的存款,查詢,取款,退出4個函數(shù)模塊。另外還有有一個輸入流存儲用戶數(shù)據(jù)在文本文檔。</p><p><b> 2. 總體設(shè)計</b></p>&
10、lt;p><b> 2.1 功能分析</b></p><p> 1. 要求分析如下:</p><p> 主頁面zhuyemian()和功能界面djmian()兩個函數(shù)用于接受輸入用戶的操作項(xiàng)目編號,用戶輸入編號后跳轉(zhuǎn)到相對應(yīng)的登陸,選擇操作界面,存款,取款,查詢,退出函數(shù)模塊。另外還有一個輸入流存儲用戶數(shù)據(jù)在文本文檔。除此加入了一個time()函數(shù)用于操作
11、之間停頓,是用戶可以看清自己的操作免得跳轉(zhuǎn)過快。其中,主頁面的功能包括登陸和退出,并且要求對輸入不符合要求的數(shù)做出提示,其次登陸的賬號密碼輸入錯誤也要提示并且要可以重新輸入。操作界面也要實(shí)現(xiàn)對輸入不符的情況做出提示。存款選項(xiàng)需要把用戶輸入的數(shù)據(jù)加上原本的金額并輸出顯示。取款選項(xiàng)需要把用戶輸入的數(shù)據(jù)用余額減去后輸出顯示。退出選項(xiàng)只需要做出輸出感謝的話就行了。</p><p><b> 2.2 數(shù)據(jù)抽象
12、</b></p><p> 1.ATM類的信息:</p><p> public={ A,id,pd,x,y,z,B,cun,qu}</p><p> A={整型,接收用戶輸入主頁面操作編號 }</p><p> id={整型,接收用戶輸入賬戶 }</p><p> pd={整型,接收用戶輸入密碼
13、</p><p> x={整型,讀取文本里的賬戶 }</p><p> y={整型,讀取文本里的密碼} </p><p> z={整型,讀取文本里的余額 }</p><p> B={整型,接收用戶輸入功能頁面操作編號 }</p><p> cun={整型,接收用戶輸入的存款金額}</p><
14、;p> qu={整型,接收用戶輸入的取款金額}</p><p><b> 2.3 類的定義</b></p><p><b> ATM類</b></p><p><b> 2.4 總體結(jié)構(gòu)</b></p><p><b> 3.詳細(xì)設(shè)計</b>
15、;</p><p><b> 3.1 系統(tǒng)的停頓</b></p><p> 因?yàn)檫@個操作比較簡單,所以跳轉(zhuǎn)比較快,因此我設(shè)計了一個系統(tǒng)的停頓時間。</p><p> void ATM::time()</p><p><b> {</b></p><p> cout&
16、lt;<"\n請稍等幾秒鐘! 系統(tǒng)正在處理中...\n"<<endl;//每次操作之后便會顯示這幾個字</p><p><b> }</b></p><p> 系統(tǒng)進(jìn)入跳轉(zhuǎn)后便調(diào)用函數(shù)time()執(zhí)行停頓,即</p><p> time();Sleep(3000);</p><p&
17、gt;<b> 3.2 主頁面</b></p><p> 主頁面主要是執(zhí)行接收用戶的操作輸入并跳轉(zhuǎn)的登陸界面</p><p><b> cin>>A;</b></p><p> if(A>0&&A<3)//用戶的輸入是否是1或者2</p><p>&l
18、t;b> {</b></p><p><b> switch(A)</b></p><p><b> {</b></p><p> case 1:denglu();break;//輸入為1就跳轉(zhuǎn)登陸界面</p><p> case 2:tuichu();break;//輸
19、入為2就退出</p><p><b> }</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> cout<<&quo
20、t;\t--------------------------------------------------------------\n";</p><p> cout<<"\t 請輸入正確的選項(xiàng)!按回車鍵繼續(xù)操作... \n";</p><p> cout<<"\t-----------------------
21、---------------------------------------\n";</p><p> cin.get();</p><p> cin.get();</p><p><b> 3.3 登陸</b></p><p> 登陸界面要先打開一個txt文本,里面存放了用戶數(shù)據(jù)。</p>
22、;<p> int id,pd,x,y,z;</p><p> ifstream shuju("ATM.txt",ios::in);//打開文本,并且只做讀取操作</p><p> if(! shuju)//判斷是否打開成功</p><p> {cerr<<"讀取錯誤"<<endl
23、;</p><p><b> exit(1);</b></p><p><b> }</b></p><p> shuju>>x>>y>>z;//依次賦值給xyz</p><p> zong=z;//z賦值給余額zong</p><p&
24、gt; 然后判斷用戶輸入的數(shù)據(jù)是否與文本里對應(yīng)的數(shù)據(jù)吻合,是就繼續(xù)操作,否就重新輸入。</p><p> cout<<"\n ☆☆☆☆☆請輸入卡號:";</p><p><b> cin>>id;</b></p><p><b> if(id==x)</b&g
25、t;</p><p><b> {</b></p><p> cout<<" ☆☆☆☆☆請輸入密碼:";</p><p><b> cin>>pd;</b></p><p> time();Sleep(3000);</p&g
26、t;<p><b> if(pd!=y)</b></p><p><b> {</b></p><p> cout<<"\t--------------------------------------------------------------\n";</p><p>
27、; cout<<"\t☆☆您輸入的密碼不正確,請按回車鍵重新選擇!☆☆\n";</p><p> cout<<"\t--------------------------------------------------------------\n";</p><p> cin.get();</p><p
28、> cin.get();//密碼錯誤則重新輸入</p><p><b> else</b></p><p><b> {</b></p><p> cout<<"\t-------------------------------------------------------------
29、-\n";</p><p> cout<<"\t☆☆密碼正確,請按回車鍵繼續(xù)操作!☆☆ \n";</p><p> cout<<"\t--------------------------------------------------------------\n";</p><p>
30、; system("cls");</p><p><b> djmian();</b></p><p> }//密碼正確則跳轉(zhuǎn)到功能界面</p><p><b> }</b></p><p><b> else</b></p><
31、;p><b> {</b></p><p> cout<<"\t--------------------------------------------------------------\n";</p><p> cout<<"\t您輸入的卡號不存在,請按回車鍵后重新選擇!"<<
32、endl;</p><p> cout<<"\t--------------------------------------------------------------\n";</p><p> cin.get();</p><p> cin.get();//卡號錯誤重新輸入</p><p><
33、b> 3.4 功能界面</b></p><p> 功能界面主要是接收用戶的數(shù)據(jù)輸入后跳轉(zhuǎn)到相應(yīng)的操作模塊,一共有1到4個選項(xiàng),分別執(zhí)行跳轉(zhuǎn)到存款,取款,查詢和退出模塊。</p><p><b> cin>>B;</b></p><p> if(B>0&&B<5)//判斷用戶輸入是
34、否為1到4</p><p><b> {</b></p><p><b> switch(B)</b></p><p><b> {</b></p><p> case 1:cunkuan();break;</p><p> case 2:qu
35、kuan();break;</p><p> case 3:chaxun();break;</p><p> case 4:tuichu();break;</p><p> }//跳轉(zhuǎn)到相應(yīng)的模塊</p><p><b> }</b></p><p><b> else<
36、/b></p><p><b> {</b></p><p> cout<<"\t--------------------------------------------------------------\n";</p><p> cout<<"\t 請輸入正確的選項(xiàng)! 按
37、回車鍵繼續(xù)操作! \n";</p><p> cout<<"\t--------------------------------------------------------------\n";</p><p> cin.get();</p><p> cin.get();</p>
38、;<p> system("cls");</p><p> djmian();//如果不是的話就繼續(xù)輸入</p><p><b> }</b></p><p><b> 3.5 存款</b></p><p> 簡單的把用戶的輸入數(shù)據(jù)加到從文本讀取的數(shù)據(jù)并返
39、回結(jié)果并輸出到屏幕</p><p><b> int cun;</b></p><p> cout<<endl<<"\n☆☆請輸入您要存入的金額:";</p><p><b> cin>>cun;</b></p><p> time()
40、;Sleep(3000);</p><p> zong=zong+cun;</p><p> cout<<"\t--------------------------------------------------------------\n";</p><p> cout<<"\t
41、 您目前賬戶的余額為:"<<zong<<"元 \n";</p><p> cout<<"\t 繼續(xù)操作請按回車鍵... \n";</p><p> cout<<"\t---
42、-----------------------------------------------------------\n";</p><p> cin.get();</p><p> cin.get();</p><p><b> 3.6 取款</b></p><p> 取款也是簡單的用余額減去用戶輸
43、入的數(shù)據(jù)后顯示</p><p><b> int qu;</b></p><p> cout<<endl<<"\n☆☆請輸入取款金額:";</p><p><b> cin>>qu;</b></p><p> time();Sleep(
44、3000);</p><p> if(qu>zong)</p><p><b> {</b></p><p> cout<<"\t--------------------------------------------------------------\n";</p><p>
45、; cout<<"\t 對不起!您的余額不足,請按回車鍵后重新輸入... \n";</p><p> cout<<"\t--------------------------------------------------------------\n";</p><p><b>
46、 qukuan();</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> zong=zong-qu;</p><p> cout<
47、<"\t--------------------------------------------------------------\n";</p><p> cout<<"\t 您目前賬戶的余額為:"<<zong<<"元 \n";</p>
48、<p> cout<<"\t 繼續(xù)操作請按回車鍵... \n";</p><p> cout<<"\t--------------------------------------------------------------\n";</p>&
49、lt;p> cin.get();</p><p> cin.get();</p><p><b> 3.7 查詢</b></p><p> 這個是最簡單的部分,就是用cout輸出余額即可。</p><p> cout<<"\t-----------------------------
50、---------------------------------\n";</p><p> cout<<"\t 您目前賬戶的余額為:"<<zong<<"元 \n";</p><p> cout<<"\t
51、 繼續(xù)操作請按回車鍵... \n";</p><p> cout<<"\t--------------------------------------------------------------\n";</p><p> cin.get();</p><p>
52、 cin.get();</p><p><b> 3.8 退出</b></p><p> 這個沒什么,退出即可。</p><p> time();Sleep(3000);</p><p> cout<<endl;</p><p> cout<<"☆☆☆
53、☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n";</p><p> cout<<"☆☆☆☆☆☆ ☆☆☆☆☆☆\n";</p><p> cout<<"☆☆☆☆☆☆ 溫馨提示:請記得收好您的
54、銀行卡和錢!歡迎再次使用 ☆☆☆☆☆☆\n";</p><p> cout<<"☆☆☆☆☆☆ ☆☆☆☆☆☆\n";</p><p> cout<<"☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
55、☆☆\n";</p><p><b> 4. 功能測試</b></p><p> 4.1 本系統(tǒng)的主界面</p><p> 1. 高校工資管理系統(tǒng)。本系統(tǒng)的主要功能有:</p><p><b> 1. 用戶登陸</b></p><p><b>
56、2. 退出系統(tǒng)</b></p><p> 2. 用戶可根據(jù)系統(tǒng)提示和用戶需要輸入1—2的操作數(shù)字。</p><p> 3.當(dāng)用戶輸入的選項(xiàng)不符合要求時,系統(tǒng)將驗(yàn)證并報錯</p><p> 4.選擇登陸輸入賬號如果不正確</p><p> 5.輸入密碼不正確則提示重新輸入</p><p><b&
57、gt; 4.2 界面</b></p><p> 1.輸入正確的密碼后進(jìn)入功能選擇界面</p><p> 2.如果輸入的不是1或者2則提示重新輸入</p><p> 2.輸入選項(xiàng)1選擇存款功能,并輸入存款金額后顯示余額</p><p> 3.輸入選項(xiàng)2選擇取款金額, </p><p> 此處如果
58、輸入的取款金額小于余額的話,系統(tǒng)將提示重新輸入</p><p> 4.輸入選項(xiàng)3選擇查詢功能</p><p> 5.輸入選項(xiàng)4選擇退出</p><p><b> 5.遇到的問題</b></p><p> 這次設(shè)計遇到最大的問題就是輸入流的讀取和賦值問題,讀取只有要怎么一次賦值3個數(shù)研究了好久,讀取數(shù)據(jù)后后要驗(yàn)證是
59、否與用戶輸入的數(shù)據(jù)相同也由于自己經(jīng)驗(yàn)不足老是在小問題上卡住。總的來說問題是很少的,因?yàn)槌绦虮緛砭秃芎唵蔚木壒室矝]多少復(fù)雜的要求就簡單的處理了。</p><p><b> 6. 課設(shè)小結(jié)</b></p><p> 這次的設(shè)計因?yàn)橐矝]要求是復(fù)雜的功能,所以設(shè)計相對簡單,整體的都只有一個類,用不同函數(shù)構(gòu)成不同的模塊來實(shí)現(xiàn)各項(xiàng)功能,設(shè)計中用的最多的就是if和swith語句
60、,嘴復(fù)雜的也就是個輸入流函數(shù)。而且我意識到這個系統(tǒng)不會返回數(shù)據(jù)給文本,也就是說只可以單純的用一次,數(shù)據(jù)無法保存,這讓我覺得不足。</p><p> 經(jīng)過一個學(xué)期的學(xué)習(xí)和上機(jī)實(shí)踐,使我對C++語言有了更認(rèn)識和和了解,要想學(xué)好它要重在實(shí)踐,要通過不斷的上機(jī)操作才能更好的學(xué)習(xí)它。這次課程設(shè)計讓我更加了解C++。課設(shè)題目要求不僅要求對課本知識有較深刻的了解,同時要求程序設(shè)計者有較強(qiáng)的思維和動手能力和更加了解編程思想和編
61、程技巧。 </p><p> 這次課程設(shè)計讓我有一個深刻的體會,那就是細(xì)節(jié)決定成敗,編程最需要的是嚴(yán)謹(jǐn),如何的嚴(yán)謹(jǐn)都不過分,往往檢查了半天發(fā)現(xiàn)錯誤發(fā)生在某個括號,分號,引號,或者數(shù)據(jù)類型上。就像我在寫ATM類時,寫完后,忘了在大括號后加個分號,這一點(diǎn)小小的錯誤也耽誤了我?guī)资昼姡哉f細(xì)節(jié)很重要。 </p><p> 程序設(shè)計時,也不要怕遇到錯誤,在實(shí)際操作過程中犯
62、的一些錯誤還會有意</p><p> 外的收獲,感覺課程設(shè)計很有意思。在具體操作中對這學(xué)期所學(xué)的C++語言的理論知識得到鞏固,達(dá)到課程設(shè)計的基本目的,也發(fā)現(xiàn)自己的不足之出,在以后的上機(jī)中應(yīng)更加注意,同時體會到C++語言具有的語句簡潔,使用靈活,執(zhí)行效率高等特點(diǎn)。發(fā)現(xiàn)上機(jī)的重要作用,特別是對數(shù)組和循環(huán)有了深刻的理解。 </p>&
63、lt;p> 這個程序是我看了書之后遇到問題請教了同學(xué)和老師完成的,同時我認(rèn)為我們的工作是一個團(tuán)隊的工作,團(tuán)隊需要個人,個人也離不開團(tuán)隊,必須發(fā)揚(yáng)團(tuán)結(jié)協(xié)作的精神。某個人的離群都可能導(dǎo)致整項(xiàng)工作的失敗。實(shí)習(xí)中只有一個人知道原理是遠(yuǎn)遠(yuǎn)不夠的,必須讓每個人都知道,否則一個人的錯誤,就有可能導(dǎo)致整個工作失敗。團(tuán)結(jié)協(xié)作是我們成功的一項(xiàng)非常重要的保證。而這次課程設(shè)計也正好鍛煉我們這一點(diǎn),這也是非常寶貴的 </p>&l
溫馨提示
- 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ī)系統(tǒng)設(shè)計
- atm自動取款機(jī)系統(tǒng)課程設(shè)計說明書
- 課程設(shè)計報告--atm取款機(jī)程序
- atm課程設(shè)計報告---簡易atm機(jī)系統(tǒng)
- c++課程設(shè)計---建行atm取款機(jī)管理系統(tǒng)
- atm自動取款機(jī)模擬設(shè)計
- atm自動取款機(jī)系統(tǒng)需求分析
- java課程設(shè)計報告--atm存取款系統(tǒng)
- 課程設(shè)計報告---atm自動提款機(jī)系統(tǒng)
- atm課程設(shè)計報告--atm管理系統(tǒng)
- atm銀行自動取款機(jī)c程序
- atm自動取款機(jī)用例圖
- java課程設(shè)計--atm機(jī)模擬系統(tǒng)
- java課程設(shè)計atm機(jī)
- atm課程設(shè)計報告---atm交易管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計-銀行atm存取款機(jī)系統(tǒng)設(shè)計與實(shí)現(xiàn)
- 畢業(yè)論文---基于wcf的atm自動取款機(jī)系統(tǒng)
- atm自助取款機(jī)系統(tǒng)的分析與設(shè)計
評論
0/150
提交評論