




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)報(bào)告模擬ATM自動(dòng)取款機(jī)系統(tǒng)姓 名 : 學(xué) 號(hào) : 專 業(yè) 班 級(jí) : 完 成 時(shí) 間 : 指 導(dǎo) 老 師 : 目 錄一、需求分析2二、程序的主要功能2三、程序運(yùn)行平臺(tái)2四、流程圖2五、程序類的說明2六、模塊分析3七、比較有特色的函數(shù)4八、存在的不足與對(duì)策4九、程序源代碼4一、需求分析為了方便用戶的及時(shí)取款,查詢,及時(shí)修改密碼的方便,本課題設(shè)計(jì)并模擬銀行的自動(dòng)取款機(jī)使用過程中的界面和用戶交互過程。實(shí)現(xiàn)查詢銀行卡余額,取款,修改密碼,退出系統(tǒng)等功能。二、程序的主要功能1、鎖機(jī)功能:卡號(hào),密碼輸入最多三次,否則直接退出系統(tǒng)。2、取款功能:取款金額受卡余額,機(jī)單筆最大取款金
2、額及機(jī)當(dāng)前剩余金額的限制。3、查詢功能:實(shí)現(xiàn)查詢余額的功能。4、更改密碼:實(shí)現(xiàn)密碼更改功能,對(duì)于密碼要有2次驗(yàn)證。5、退卡功能:實(shí)現(xiàn)退出系統(tǒng)功能。三、程序運(yùn)行平臺(tái)Dev c+四、流程圖登陸界面主界面取款功能查詢功能修改密碼鎖卡功能退出系統(tǒng) 圖1 系統(tǒng)流程圖五、程序類的說明5.1 ATM類:該類主要實(shí)現(xiàn)取款,查詢,修改密碼,登錄界面等功能。class ATM/ATM類 public: ATM(YongHu& y):yh(y) .private: int times; YongHu& yh; ; 5.2 YongHu類:該類主要實(shí)現(xiàn)卡號(hào),密碼,余額的獲取函數(shù)等功能。class Yo
3、ngHu/用戶類 public: friend class ATM; . private: char ID20;/卡號(hào) char password10;/密碼 float money;/卡上余額 ;5.3 查詢函數(shù):調(diào)用YongHu類的獲取函數(shù)將信息輸出void ATM:CX() .5.4 修改密碼函數(shù):使用do while語句實(shí)現(xiàn)修改密碼的功能void ATM:GG().5.5 密碼星號(hào)函數(shù):通過while語句實(shí)現(xiàn)輸入密碼時(shí)每輸入一個(gè)字符就顯示一個(gè)星號(hào)的功能char * ATM:GetPassword().六、模塊分析1、鎖機(jī)功能:卡號(hào),密碼輸入最多三次,否則直接退出系統(tǒng)。2、取款功能:取款
4、金額受卡余額,機(jī)單筆最大取款金額及機(jī)當(dāng)前剩余金額的限制。3、查詢功能:實(shí)現(xiàn)查詢余額的功能。4、更改密碼:實(shí)現(xiàn)密碼更改功能,對(duì)于密碼要有2次驗(yàn)證。5、退卡功能:實(shí)現(xiàn)退出系統(tǒng)功能。七、比較有特色的函數(shù)char * ATM:GetPassword() char c; int i=0; char password6; while (c=getch()!='r') passwordi=c; putchar('*'); i+; if (i>=6) break; return password;/實(shí)現(xiàn)密碼星號(hào)化的功能八、存在的不足與對(duì)策由于我的能力及時(shí)間限制,所以這次這
5、個(gè)系統(tǒng)設(shè)計(jì)得非常簡(jiǎn)單,功能也很單一,并且這次并沒有使用文件的功能,所有的數(shù)據(jù)都是一次性的,我會(huì)在課下繼續(xù)探究可以完善該系統(tǒng)的方法.九、程序源代碼/funtion.h#include<iostream> #include<cstring> #include<cstdlib> class YongHu;/定義全局類class class ATM/ATM類 public: ATM(YongHu& y):yh(y) void DLJM();/登陸界面 bool HDMM(char ID,char password);/核對(duì)密碼 void QK();/取款 v
6、oid CX();/查詢 void GG();/更改密碼 void GNJM();/功能界面 void LK();/鎖卡 void TC();/退出 char *GetPassword();private: int times; YongHu& yh; ; class YongHu/用戶類 public: friend class ATM; YongHu(char id,float Money,char Password); char* get_ID();/獲取卡號(hào) char* get_password();/獲取密碼 float get_money();/獲取余額 void set_
7、password(char Password);/設(shè)置密碼 void set_money(float m);private: char ID20;/卡號(hào) char password10;/密碼 float money;/卡上余額 ;/ATM.cpp#include<iostream>#include<conio.h>#include "funtion.h"#include <cstring>using namespace std; void ATM:DLJM()/登陸界面 times=0; char ID20,password10,ch;
8、 int i=0; do i=0; cout<<" "<<endl; cout<<" 歡迎使用中國(guó)農(nóng)業(yè)銀行!"<<endl; cout<<" "<<endl<<endl; cout<<" 測(cè)試卡號(hào)為:123456"<<endl; cout<<" 測(cè)試密碼為:123456"<<endl; cout<<" 測(cè)試卡號(hào)余額為:10000元"&
9、lt;<endl<<endl<<endl; cout<<" 請(qǐng)輸入您的卡號(hào) "<<endl; cout<<"卡號(hào):" do cin.get(ch); IDi+=ch; while(ch!='n'); IDi-1='0' i=0; cout<<endl<<" 請(qǐng)輸入您的密碼 "<<endl; cout<<"密碼:" strcpy(password,GetPassword()
10、; if(!HDMM(ID,password) cout<<"對(duì)不起,您的卡號(hào)或密碼有誤,請(qǐng)重新輸入"<<endl; times+; else GNJM(); while(times<3); LK(); bool ATM:HDMM(char ID,char password) if(strcmp(ID,yh.get_ID()=0&&strcmp(password,yh.get_password()=0) return true; else return false; void ATM:GNJM() int n; cout<
11、<endl<<endl<<endl; cout<<""<<endl; cout<<" 1)取款"<<endl; cout<<" 2)查詢余額"<<endl; cout<<" 3)更改密碼"<<endl; cout<<" 4)退出系統(tǒng)"<<endl; cout<<""<<endl; cout<<
12、endl<<"請(qǐng)輸入你想操作的序號(hào):" cin>>n; if(n<0|n>4) cout<<"您輸入的序號(hào)不正確,請(qǐng)重新輸入:" cin>>n; switch(n) case 1:QK();break; case 2:CX();break; case 3:GG();break; case 4:TC();break; while(true); void ATM:QK() float m; char ch; cout<<endl<<"請(qǐng)輸入您要取多少錢:"
13、 cin>>m; while(m<=0) cout<<"請(qǐng)輸入正確的取款數(shù):"<<endl; cin>>m; if(yh.get_money()-m<0) cout<<"對(duì)不起,您的余額不足!"<<endl; else if(int)m%100!=0) cout<<"對(duì)不起,您的取款金額必須為100的倍數(shù)!"<<endl; else if(m>2000) cout<<"對(duì)不起,您每次只能取2000元!
14、"<<endl; else cout<<"操作成功,請(qǐng)稍后!"<<endl; yh.set_money(m);cout<<"請(qǐng)輸入(y/n)確認(rèn)是否取錢!"<<endl; cin>>ch; while(ch!='Y'&&ch!='y'&&ch!='N'&&ch!='n') cout<<"請(qǐng)?jiān)俅屋斎?y/n)確認(rèn)是否取錢!"<&
15、lt;endl; cin>>ch; if(ch='y'|ch='Y')cout<<"您已取款成功!請(qǐng)收好錢!"elsecout<<"您已取款成功!請(qǐng)盡快取錢!" GNJM(); void ATM:CX() cout<<""<<endl; cout<<" "<<endl; cout<<" 卡號(hào):"<<yh.get_ID()<<endl; cout&
16、lt;<" 余額:"<<yh.get_money()<<"元"<<endl; cout<<" "<<endl;cout<<""<<endl; GNJM(); void ATM:GG() char password10,Xpassword10; times=0; do cout<<endl<<"請(qǐng)輸入舊密碼:" strcpy(password,GetPassword();if(!HDM
17、M(yh.get_ID(),password) times+; else break;while(times<3); if(times=3) LK(); int t=1;do cout<<endl<<"請(qǐng)輸入新密碼:" strcpy(password,GetPassword(); cout<<endl<<"請(qǐng)?jiān)俅屋斎胄旅艽a:" strcpy(Xpassword,GetPassword(); t=strcmp(password,Xpassword);/對(duì)新密碼進(jìn)行比較,如果相等,則返回0 if(t!=0
18、) cout<<endl<<"您輸入的密碼不一致,請(qǐng)重新輸入!"<<endl; while(t!=0);yh.set_password(password);cout<<endl<<"密碼修改成功,請(qǐng)您牢記!"<<endl; GNJM(); void ATM:LK() cout<<"對(duì)不起,你輸入的密碼錯(cuò)誤已達(dá)三次,您的卡已被沒收!"<<endl; exit(1);void ATM:TC() cout<<"請(qǐng)取走您的卡,感謝您的使用,歡迎您下次再來!"<<endl; exit(0); char * ATM:GetPassword() char c; int i=0; char password6; while (c=getch()!='r') passwordi=c; putchar('*'); i+; if (i>=6) break; return password;/YongHu.cpp#include "funtio
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)臨時(shí)職工合同范本
- 信托通道業(yè)務(wù)合同范例
- 個(gè)人紅酒購(gòu)銷合同范本
- 仔豬采購(gòu)合同范本
- 代收美金合同范本
- 個(gè)人和業(yè)主裝修合同范本
- 臨時(shí)幼師合同范本
- 植物油罐高空作業(yè)施工方案
- 2025四川瀘州市納溪區(qū)融新文化傳媒有限責(zé)任公司招聘2人筆試參考題庫(kù)附帶答案詳解
- 勞務(wù)服務(wù)協(xié)議合同范本
- 電鍍廢水中各種重金屬?gòu)U水處理反應(yīng)原理及控制條件
- 數(shù)據(jù)結(jié)構(gòu)英文教學(xué)課件:chapter3 Linked Lists
- 診斷學(xué)完整教案(共167頁(yè))
- 《汽車文化》全套教案
- 會(huì)計(jì)英語專業(yè)詞匯全
- 拆除工程檢驗(yàn)批質(zhì)量檢驗(yàn)記錄
- 甲狀腺腫瘤PPT課件
- 怎樣把握文章線索
- LED與金鹵燈對(duì)比(共4頁(yè))
- (完整版)部編四年級(jí)語文下詞語表
- 高頻電子線路完整章節(jié)課件(胡宴如)
評(píng)論
0/150
提交評(píng)論