ATM取款機系統(tǒng)C++課程設(shè)計實驗報告_第1頁
ATM取款機系統(tǒng)C++課程設(shè)計實驗報告_第2頁
ATM取款機系統(tǒng)C++課程設(shè)計實驗報告_第3頁
ATM取款機系統(tǒng)C++課程設(shè)計實驗報告_第4頁
ATM取款機系統(tǒng)C++課程設(shè)計實驗報告_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、c+課程設(shè)計實驗報告c+課程設(shè)計實驗報告 系 部: 計算機科學(xué)學(xué)院 專 業(yè): 計算機科學(xué)與技術(shù)專業(yè) 班 級: 2010級計算機科學(xué)與技術(shù)4班 姓 名: 課題名稱: atm取款機系統(tǒng) 指導(dǎo)老師: 2011年12月 目錄一、系統(tǒng)功能分析- 3 -二、 系統(tǒng)設(shè)計實現(xiàn)- 3 -三、小組人員構(gòu)成及任務(wù)- 3 -四、uml圖- 4 -五、源代碼- 4 -六、運行結(jié)果- 11 -一、系統(tǒng)功能分析1、 提示用戶輸入賬號和密碼,檢查輸入的賬號和密碼是否正確。2、 記錄用戶輸入密碼錯誤的次數(shù),當(dāng)超過三次時鎖卡。3、 登陸后,提示用戶輸入數(shù)字進行修改密碼,查詢賬號余額,取款的功能。4、 安全退出。二、 系統(tǒng)設(shè)計實現(xiàn)

2、1、 本系統(tǒng)共兩個類,分別為atm類和consumer類,并且atm類為consumer類的友元類。2、 atm類中有公有函數(shù)成員atm(&cn:consumer)是本類的構(gòu)造函數(shù);welcome()是登陸界面函數(shù);change passwd核對用戶輸入的密碼是否正確;change_passwd()修改密碼;fetchmoney()取款;void information() 查詢賬戶信息;exitatm()退出系統(tǒng);void functionshow() 功能界面;void lock()記錄用戶輸入密碼錯誤的次數(shù),當(dāng)超過三次時鎖卡。私有成員times記錄密碼輸入次數(shù)& cnsm consume

3、r類對象的引用來存放當(dāng)前用戶數(shù)據(jù)3、 consumer類中有公有成員atm為本類的友元類;consumer()為本類的構(gòu)造函數(shù);保護成員* get_name()取得用戶姓名;* get_num()取得卡號;* get_passwd()取得密碼;get_money()取得余額;set_passwd()設(shè)置密碼;set_money()取款。有私有成員passwd8用來存放用戶密碼;name20存放用戶姓名;num20存放用戶卡號;money存放用戶余額。三、小組人員構(gòu)成及任務(wù)劉輝:系統(tǒng)的構(gòu)思、繪制uml圖、系統(tǒng)的調(diào)試、編寫實驗報告楊釗:編寫atm.h文件楊樹仁:編寫consumer.h文件莊典:a

4、tm類的實現(xiàn)文榮富:consumer類的實現(xiàn)楊竹:編寫主函數(shù)四、uml圖atm+atm(&cn :consumer)+ welcome() : void+check_passwd(n:char, pwd:char):bool+change_passwd():void+ fetchmoney():void+ information():void+ exitatm():void+ functionshow():void+ lock() : void-times: int-& cnsm: consumer consumer+ atm: class+consumer(name:char, num:ch

5、ar, money: float, password:char)#* get_name(): char#* get_num(): char#* get_passwd(): char#get_money():float#set_passwd(pwd: char): void#set_money(m: float) : void-passwd8:char-name20: char-num20: char-money: floa t五、源代碼/atm.hclass consumer;class atm / atm取款機 public: atm(consumer &cn);/構(gòu)造函數(shù) void wel

6、come();/ 登陸界面函數(shù) bool check_passwd(char n,char pwd);/ 核對密碼 void change_passwd();/ 修改密碼 void fetchmoney();/ 取款 void information();/ 查詢信息 void exitatm();/ 退出系統(tǒng) void functionshow();/ 功能界面 void lock();/ 鎖機吞卡 private: int times;/ 記錄密碼輸入次數(shù) consumer& cnsm;/當(dāng)前用戶數(shù)據(jù);/consumer.hclass consumer / consumer類的定義publ

7、ic:friend class atm;consumer(char name,char num,float money,char password);protected: char* get_name();/ 取得姓名 char* get_num();/ 取得卡號 char* get_passwd();/ 取得密碼 float get_money();/ 取得余額 void set_passwd(char pwd);/ 設(shè)置密碼 void set_money(float m);/ 取錢private: char passwd8;/ 用戶密碼 char name20;/ 用戶姓名 char nu

8、m20; float money;/atm.cpp atm類以及consumer類的實現(xiàn)# include # include atm.h# include consumer.h/包涵兩個類的頭文件using namespace std;void atm:functionshow() int n; do coutendl請你輸入相應(yīng)的操作序號進行操作:endl; cout1) 修改密碼 endl 2) 取款 endl 3) 查詢余額 endl 4) 退出系統(tǒng) endl; cout; cinn; while(n!=1&n!=2&n!=3&n!=4) cout請輸入正確的操作序號!endl; co

9、ut; cinn; switch(n) case 1:change_passwd(); break; case 2:fetchmoney(); break; case 3:information(); break; case 4:exitatm(); break; while(true);void atm:change_passwd()/修改密碼函數(shù)的定義 char pwd8,repwd8; times=0; do coutendlpwd;if(!check_passwd(cnsm.get_num(),pwd) times+; else break; while(times3); if(tim

10、es=3) lock(); int t=0;docoutpwd;coutrepwd;if(t=strcmp(pwd,repwd)!=0)cout你輸入的兩次密碼不一樣,請重新輸入!endl;while(t!=0);cnsm.set_passwd(pwd);cout密碼修改成功endl;void atm:fetchmoney()/取款函數(shù)的實現(xiàn) float m; char ch; do coutendl請輸入金額: m; while(m=0) cout金額不能小于零,請繼續(xù)輸入endl;cout ;cinm; if(cnsm.get_money()-m0) cout對不起,你的余額不足!endl

11、; else coutendl操作成功endl; cnsm.set_money(m); cout是否要繼續(xù)取錢:(y/n) endl; cout ; cinch; while(ch!=n&ch!=n&ch!=y&ch!=y) cout; cinch; while(ch=y|ch=y);void atm:information() cout*endl; cout*endl; cout* 用戶姓名:cnsm.get_name()endl; cout* 卡號: cnsm.get_num()endl; cout* 余額: cnsm.get_money()endl; cout*endl;void atm

12、:lock() coutendl對不起,由于操作有誤,你的卡已經(jīng)被沒收endl; exit(1);void atm:exitatm()coutendl*謝謝使用,歡迎下次光臨!*endl;cout請取卡endl;exit(0);atm:atm(consumer &cn):cnsm(cn) consumer:consumer(char name,char num,float money,char password) strcpy(name,name); strcpy(num,num); money=money; strcpy(passwd,password);float consumer:get

13、_money()/得到用戶余額 return money;char* consumer:get_name()/得到用戶的姓名 return name;char* consumer:get_num()/得到用戶的賬號 return num;char* consumer:get_passwd()/得到用戶的密碼 return passwd;void consumer:set_money(float m)/更新用戶的余額 money-=m;void consumer:set_passwd(char pwd)/設(shè)置密碼 strcpy(passwd,pwd);void atm:welcome() tim

14、es=0;cout*歡迎使用atm自動取款機系統(tǒng)*endl;cout*n;cout*本系統(tǒng)由10級計科四班 劉輝 文榮富 楊釗 莊典 楊樹仁 楊竹共同開發(fā)*n;cout*nnn; char pwd8,num20,ch; int i=0; do i=0; coutendl請輸入卡號:;docin.get(ch);/獲取一個字符numi+=ch;/將卡號放入num數(shù)組while(ch!=n);/回車鍵結(jié)束numi-1=0;/最后一位為空字符i=0;cout請輸入密碼:;docin.get(ch);pwdi+=ch;while(ch!=n);pwdi-1=0;if(!check_passwd(num,pwd) cout你輸入的卡號或密碼有誤,請重新輸入endl; times+;else functionshow(); while(times3);lock();bool atm:check_passwd(char num,char pwd) if(strcmp(num,cnsm.get_num()=0&strcmp(pwd,cnsm.get_passwd()=0) return true; else retu

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論