ATM自動取款機程序設計--精選文檔_第1頁
ATM自動取款機程序設計--精選文檔_第2頁
已閱讀5頁,還剩18頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、大 連 科 技 學 院面向對象程序設計(A)課程設計題 目 ATM自動取款機程序設計 學生姓名 xxx 專業班級 軟件工程12-1 指導教師 李孝貴 職 稱講師 所在單位 信息科學系軟件工程教研室 教學部主任 王立娟 完成日期 2014年7月6日課程設計報告單學號Xxx姓名xxsx專業班級軟件工程12-1考 核 項 目評分備注1平時工作態度及遵守紀律情況(10分)2掌握基本理論、關鍵知識、基本技能的程度和閱讀參考資料的水平(10分)3獨立工作能力、綜合運用所學知識分析和解決問題能力及實際工作能力提高的程度(20分)4完成課程設計說明書及軟件的情況與水平(小組分工情況、規范性、整潔清楚、敘述完整

2、性、思路清晰程度、工作量及實際運行情況和創新性)(60分)總評成績綜 合 評 定:(優、良、中、及格、不及格) 指導教師簽字:年 月 日面向對象程序設計(A)課程設計任務書一、課程設計任務及要求:任務:針對小型信息管理系統或若干綜合性設計題目,選擇一種軟件開發模型,完成從需求分析、系統設計、系統實現,軟件測試的全過程。要求: (1) 根據軟件系統開發的一般原則,完成相應系統的功能設計,完成主要功能模塊的程序實現并進行測試訓練,給出代碼運行結果和相應的設計文檔。可以分組進行,但所有學生必須經歷整個系統的開發全過程,以便加深對系統開發全過程的認識。(2)提交課程設計報告。(3)指標: 要求完成課程

3、設計報告3000字以上(約二十頁);完成所設計的題目,設計題目的語句行數的和在200行語句以上。二、工作量2周(10個工作日)時間三、計劃安排第1個工作日:查找相關資料、書籍,閱讀示例文檔,選擇題目。第2個工作日第4個工作日:設計程序結構、模塊圖。第5個工作日第9個工作日:完成程序的編碼,并且自己調試、測試。穿插進行課程設計報告的撰寫。第10個工作日:上交課程設計報告,由教師檢查軟件測試效果、檢查課程設計報告,給出學生成績。指導教師簽字: 年 月 日目錄題目:11.需求分析12.概要設計13.詳細設計14.編碼25.調試分析46.測試結果及運行效果47.系統開發所用到的技術7參考文獻8附錄 全

4、部代碼9題目:ATM自動取款機程序設計分析與設計1. 需求分析為了方面用戶的及時取款,查詢,及時修改密碼的方便,本課題設計并模擬銀行的自動取款機使用過程中的界面和用戶交互過程。實現查詢銀行卡余額、取款、修改密碼、退出系統等功能。2. 概要設計1登錄功能。輸入帳號和密碼進行登錄,如密碼錯誤提示重新輸入密碼,如帳號錯誤提示無此帳戶。2查詢功能。查詢賬戶余額。3取款功能。取款,更新余額。4掛失功能。掛失后,該賬戶不能進行任何操作。5修改密碼。輸入原密碼和新設置密碼。6轉賬。輸入轉賬的轉出賬戶和轉入賬戶以及轉賬金額,進行轉賬。流程圖ATM自動取款系統開戶存款取款查詢余額修改密碼轉賬圖 21 atm設計

5、框圖3. 詳細設計輸入卡號和密碼正確 否是 服務界面顯示用戶信息和余額 查詢 取款 掛失 修改密碼掛式界面輸入金額輸入舊密碼 正確輸入新密碼 正確 否 是 否輸入新密碼操作成功取款 掛失 修改密碼 掛失 退出 是掛失成功 正確 退卡 修改成功 返回 退出 否 是 返回 退出 轉賬 轉賬成功超出余額輸入轉賬金額輸入轉賬卡號 是 否 返回 退出 圖 31 程序流程圖1登陸模塊主要完成功能為:當用戶開始使用本系統,進入登陸模塊。屏幕顯示菜單提示,用戶可根據需要選擇相應功能。具體如下:開戶 、存款 、取款 、查詢余額 、修改密碼 、轉賬主要適用技術:登陸函數主要是使用了循環函數和do while函數,

6、還有許多的成員函k.OpenAccount()、k.SaveMoney()、k.TakeMoney()、k.Inquiry()、k.Changepsw()、k.Transfer();關鍵代碼如下:void main();主函數;do while(1);/循環結構語句switch(i);case 1: default:bank k;/默認構造函數k.OpenAccount();break;/開戶 k.SaveMoney();break;/存款k.TakeMoney();break;/取款k.Inquiry();break;/查詢余額k.Changepsw();break;/修改密碼k.Trans

7、fer();break;/轉賬2開戶模塊主要完成功能為:進入開戶模塊。屏幕顯示菜單提示,可根據要求依次輸入姓名、卡號、密碼和預存款金額,完成以上操作之后,屏幕上顯示恭喜您,開戶成功。主要適用技術:開戶函數使用了基本函數;主要代碼如下:void OpenAccount()/開戶函數3存款模塊主要完成功能為:當開始使用本系統,進入存款模塊。屏幕顯示菜單提示,根據要求依次輸卡號和密碼,如果卡號和密碼正確,然后輸入存款金額,存款成功后顯示卡上余額,(當密碼不正確的時候,可以有三次機會輸入自己的正確密碼,如果三次都沒有輸入正確,卡將會被吃掉,以下同);主要使用技術:存款函數使用了循環語句函數、判斷函數和

8、選擇函數主要代碼如下:void SaveMoney()/存款函數for(int i=1;i=N;i+) else /循環函數語句exit(1);/結束函數4取款模塊主要完成功能為:進入取款模塊。屏幕顯示菜單提示,根據要求依次輸卡號和密碼,如果卡號和密碼正確,然后輸入取款金額,如果全款金額小于或者等于卡上余額,則取款進行,否則重新輸入取款金額。取款成功后顯示卡上余額主要適用技術:存款函數使用了循環語句函數、判斷函數和選擇函數主要代碼如下:void TakeMoney()/取款函數for(int i=1;i=N;i+)else/循環函數語句exit(1);/結束函數5查詢余額主要完成功能為:進入查

9、詢余額模塊。屏幕顯示菜單提示,根據要求依次輸卡號和密碼,如果卡號和密碼正確,屏幕上將顯示你的余額,然后進入修改密碼模塊; 主要適用技術:存款函數使用了循環語句函數、判斷函數和選擇函數主要代碼如下:voidInquiry()/查詢余額函數for(int i=1;i=N;i+) else /循環結果語句exit(1);/結束函數6修改密碼主要完成功能為:進入修改密碼模塊。屏幕顯示菜單提示,根據要求依次輸卡號和密碼,如果卡號和原始密碼正確,則將進行修改密碼的步驟,先輸入原始密碼,然后再輸入新密碼,之后確認新密碼,確認正確之后,密碼修改成功,接下來進入轉賬模塊; 主要適用技術:存款函數使用了循環語句函

10、數、判斷函數和選擇函數主要代碼如下:void Changepsw()/修改密碼函數for(int i=1;i=N;i+) else /循環結果語句exit(1);/結束函數7轉賬模塊主要完成功能為:進入轉賬模塊。屏幕顯示菜單提示,根據要求依次輸卡號和密碼,如果卡號和原始密碼正確,輸入所要轉賬的賬號并輸入轉賬金額,如果轉賬金額小于余額,轉賬成功輸出卡上余額, 主要適用技術:存款函數使用了循環語句函數、判斷函數和選擇函數主要代碼如下:voidTransfer()/轉賬函數for(int i=1;i=N;i+) else /循環結果語句exit(1);/結束函數4.編碼class ATM / ATM

11、取款機 public: /公有類 ATM(consumer& cn):cnsm(cn) void welcome(); / 登陸界面 bool check_passwd(char n,char pwd); / 核對密碼 void change_passwd(); / 修改密碼 void fetchmoney(); / 取款 void information(); / 查詢信息 void functionshow(); / 功能界面 void guashi(); / 掛失 void zhuanzhang(); / 轉賬 void exitATM(); / 退出系統 void lock(); /

12、鎖機 private: / 私有類 int times; / 記錄密碼輸入次數 int money;consumer&cnsm;5.調試分析主要問題:錯誤較多,由于修改了好多次,程序中的血多代碼都出現了不同程度上的錯誤,尤其是bank和banki之間經常出現問題,我通過調試,發現了好多這樣的問題,通過幫助和自己的經驗,解決了這個問題;還有就是程序后面那個是否繼續,例如:cout是否繼續操作 1 是 2 否endl;這句應該放在哪里,應該怎么寫,才能實現程序的完美,后來通過上網查資料和借鑒書上的程序,實現了這個功能;還有就是調試過程中發現程序不完整,有許多功能沒有實現,例如:對于用戶要求輸入相應

13、的帳號和密碼,如果三次出錯則將卡吃掉并打印出相應憑條,沒有實現,后來通過增加代碼,實現了這個功能。6.測試結果及運行效果1登陸模塊圖6-1登錄模塊2開戶模塊圖6-2開戶模塊3存款模塊圖6-3存款模塊4取款模塊圖6-4取款模塊5查詢模塊圖6-5查詢模塊6修改密碼圖6-6修改密碼7轉賬模塊圖6-7轉賬模塊8退出登錄圖6-8退出登錄7.系統開發所用到的技術Visual C+ 6.0應用語言C+注釋:C+是在C語言引入了面向機制而形成的一種程序設計語言,程序結構靈活,代碼簡潔清晰,可移植性強,支持數據抽象,面向對象程序設計和泛型程序設計。所以它是一種應用廣泛的系統語言。參考文獻1 張紅梅,于明,程序設

14、計實驗教程,中國鐵道出版社,20042 徐武,周啟濤,葛卉娟,Visual C+與Oracle數據庫編程案例,電子工業出版社,20043 網冠科技,Visual C+ 6.0時尚編程百例,機械工業出版社,20034 求是科技,Visual C+ 6.0程序設計與開發技術大全,人民郵電出版社,20045 廣正工作室 C+ Builder實用教程M. 機械工業出版社 1998年6 Matt Tells 高級編程指南C+ BuilderM. 中國水利水電出版社 1998年附錄 全部代碼#include#include#includeclass Bankpublic:Bank();/默認構造函數voi

15、d OpenAccount()/開戶cout歡迎開戶:endl; cout請輸入您的姓名:name; cout請輸入您的卡號:cardID; cout請輸入您的密碼:psw; cout請輸入您的預存金額:money; cout恭喜您,開戶成功!endl; void SaveMoney()/存款long ID; long psw1; int money1; cout歡迎使用取款業務:n; cout請輸入您的卡號:ID; cout請輸入您的密碼:psw1; if(ID=cardID &psw1=psw) cout請輸入您的存款金額:money1; money=money+money1; cout存

16、款成功,卡上余額為:moneyendl; else cout您的卡號或者密碼錯誤,請重新輸入!endl; cout請重新輸入您的密碼:psw1; if(psw1=psw) cout請輸入您的存款金額:money1; money=money+money1; cout存款成功,卡上余額為:moneyendl; else cout溫馨提示:密碼錯誤,卡已被吃掉(打印出憑條,您的卡已經暫停一切業務):endl; exit(1); void TakeMoney()/取款 long ID; long psw1; int money1; cout歡迎您使用取款業務n; cout請輸入您的卡號:ID; cou

17、t請輸入您的密碼:psw1; if(ID=cardID & psw1=psw) cout請輸入您取款的金額:money1;if(money=money1) money=money-money1; cout取款成功,您卡上余額為:moneyendl; else coutmoney1; money=money-money1; cout取款成功,您卡上余額為:moneyendl; else cout溫馨提示:您的卡號或密碼錯誤,請重新輸入!endl; cout請重新輸入您的密碼:psw1; if(psw1=psw) cout請輸入您的取款金額:money1; if(money=money1) mon

18、ey=money-money1; cout取款成功,您卡上余額為:moneyendl; else coutmoney1; money=money-money1; cout取款成功,您卡上余額為:moneyendl; cout溫馨提示:密碼錯誤,卡已被吃掉(打印出憑條,您的卡已經暫停一切業務):endl; exit(1); void Inquiry()/查詢余額long ID; long psw1; cout歡迎進行查詢余額業務n; cout請輸入您的卡號:ID; cout請輸入您的密碼psw1; if(ID=cardID & psw1=psw) cout卡上余額為:moneyendl; els

19、e cout您的卡號或者密碼錯誤,請重新輸入!endl; cout請重新輸入您的密碼:psw1; if(psw1=psw) cout卡上余額為:moneyendl; else cout溫馨提示:密碼錯誤,卡已被吃掉(打印出憑條,您的卡已經暫停一切業務):endl; exit(1); void Changepsw()/修改密碼 long ID; long psw1; long psw2; cout歡迎使用修改密碼業務nendl; cout請輸入您的卡號:ID; cout請輸入您的密碼:psw1; if(ID=cardID & psw1=psw) cout請輸入您的原始密碼:psw1; cout請

20、輸入您的新密碼:psw2; cout確認新密碼:請重新輸入新密碼:psw2; psw=psw2; cout修改密碼成功!endl; else cout您的卡號或者密碼錯誤!endl; cout請重新輸入您的原始密碼:psw1; if(psw1=psw) cout請輸入您的新密碼:psw2; cout確認新密碼:請輸入新密碼:psw2; psw=psw2; cout修改密碼成功!endl; else cout溫馨提示:密碼錯誤,卡已被吃掉(打印出憑條,您的卡已經暫停一切業務):endl; exit(1); void Transfer()/轉賬long ID; long ID2; long psw

21、1; int money1; cout歡迎使用轉賬業務nendl; cout請輸入您的卡號:ID; cout請輸入您的密碼:psw1; if(ID=cardID & psw1=psw) cout請輸入您要轉賬的卡號:ID2; cout請輸入您要轉賬的金額:money1;if(money=money1) money=money-money1; cout轉賬成功,您卡上余額為:moneyendl; else coutmoney1; money=money-money1; cout轉賬成功,您卡上余額為:moneyendl; else cout溫馨提示:您的卡號或密碼錯誤,請重新輸入!endl; cout請重新輸入您的密碼:psw1; if

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論