




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、c+課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告c+課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告 系 部: 計(jì)算機(jī)科學(xué)學(xué)院 專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè) 班 級(jí): 2010級(jí)計(jì)算機(jī)科學(xué)與技術(shù)4班 姓 名: 課題名稱: atm取款機(jī)系統(tǒng) 指導(dǎo)老師: 2011年12月 目錄一、系統(tǒng)功能分析- 3 -二、 系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)- 3 -三、小組人員構(gòu)成及任務(wù)- 3 -四、uml圖- 4 -五、源代碼- 4 -六、運(yùn)行結(jié)果- 11 -一、系統(tǒng)功能分析1、 提示用戶輸入賬號(hào)和密碼,檢查輸入的賬號(hào)和密碼是否正確。2、 記錄用戶輸入密碼錯(cuò)誤的次數(shù),當(dāng)超過(guò)三次時(shí)鎖卡。3、 登陸后,提示用戶輸入數(shù)字進(jìn)行修改密碼,查詢賬號(hào)余額,取款的功能。4、 安全退出。二、 系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)
2、1、 本系統(tǒng)共兩個(gè)類,分別為atm類和consumer類,并且atm類為consumer類的友元類。2、 atm類中有公有函數(shù)成員atm(&cn:consumer)是本類的構(gòu)造函數(shù);welcome()是登陸界面函數(shù);change passwd核對(duì)用戶輸入的密碼是否正確;change_passwd()修改密碼;fetchmoney()取款;void information() 查詢賬戶信息;exitatm()退出系統(tǒng);void functionshow() 功能界面;void lock()記錄用戶輸入密碼錯(cuò)誤的次數(shù),當(dāng)超過(guò)三次時(shí)鎖卡。私有成員times記錄密碼輸入次數(shù)& cnsm consume
3、r類對(duì)象的引用來(lái)存放當(dāng)前用戶數(shù)據(jù)3、 consumer類中有公有成員atm為本類的友元類;consumer()為本類的構(gòu)造函數(shù);保護(hù)成員* get_name()取得用戶姓名;* get_num()取得卡號(hào);* get_passwd()取得密碼;get_money()取得余額;set_passwd()設(shè)置密碼;set_money()取款。有私有成員passwd8用來(lái)存放用戶密碼;name20存放用戶姓名;num20存放用戶卡號(hào);money存放用戶余額。三、小組人員構(gòu)成及任務(wù)劉輝:系統(tǒng)的構(gòu)思、繪制uml圖、系統(tǒng)的調(diào)試、編寫實(shí)驗(yàn)報(bào)告楊釗:編寫atm.h文件楊樹(shù)仁:編寫consumer.h文件莊典:a
4、tm類的實(shí)現(xiàn)文榮富:consumer類的實(shí)現(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取款機(jī) public: atm(consumer &cn);/構(gòu)造函數(shù) void wel
6、come();/ 登陸界面函數(shù) bool check_passwd(char n,char pwd);/ 核對(duì)密碼 void change_passwd();/ 修改密碼 void fetchmoney();/ 取款 void information();/ 查詢信息 void exitatm();/ 退出系統(tǒng) void functionshow();/ 功能界面 void lock();/ 鎖機(jī)吞卡 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();/ 取得卡號(hào) 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類的實(shí)現(xiàn)# include # include atm.h# include consumer.h/包涵兩個(gè)類的頭文件using namespace std;void atm:functionshow() int n; do coutendl請(qǐng)你輸入相應(yīng)的操作序號(hào)進(jìn)行操作:endl; cout1) 修改密碼 endl 2) 取款 endl 3) 查詢余額 endl 4) 退出系統(tǒng) endl; cout; cinn; while(n!=1&n!=2&n!=3&n!=4) cout請(qǐng)輸入正確的操作序號(hào)!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你輸入的兩次密碼不一樣,請(qǐng)重新輸入!endl;while(t!=0);cnsm.set_passwd(pwd);cout密碼修改成功endl;void atm:fetchmoney()/取款函數(shù)的實(shí)現(xiàn) float m; char ch; do coutendl請(qǐng)輸入金額: m; while(m=0) cout金額不能小于零,請(qǐng)繼續(xù)輸入endl;cout ;cinm; if(cnsm.get_money()-m0) cout對(duì)不起,你的余額不足!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* 卡號(hào): cnsm.get_num()endl; cout* 余額: cnsm.get_money()endl; cout*endl;void atm
12、:lock() coutendl對(duì)不起,由于操作有誤,你的卡已經(jīng)被沒(méi)收endl; exit(1);void atm:exitatm()coutendl*謝謝使用,歡迎下次光臨!*endl;cout請(qǐng)取卡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()/得到用戶的賬號(hào) 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自動(dòng)取款機(jī)系統(tǒng)*endl;cout*n;cout*本系統(tǒng)由10級(jí)計(jì)科四班 劉輝 文榮富 楊釗 莊典 楊樹(shù)仁 楊竹共同開(kāi)發(fā)*n;cout*nnn; char pwd8,num20,ch; int i=0; do i=0; coutendl請(qǐng)輸入卡號(hào):;docin.get(ch);/獲取一個(gè)字符numi+=ch;/將卡號(hào)放入num數(shù)組while(ch!=n);/回車鍵結(jié)束numi-1=0;/最后一位為空字符i=0;cout請(qǐng)輸入密碼:;docin.get(ch);pwdi+=ch;while(ch!=n);pwdi-1=0;if(!check_passwd(num,pwd) cout你輸入的卡號(hào)或密碼有誤,請(qǐng)重新輸入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. 本站所有資源如無(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ù)網(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è)學(xué)院《司法法律社會(huì)工作》2023-2024學(xué)年第二學(xué)期期末試卷
- 新疆大學(xué)《水資源系統(tǒng)分析》2023-2024學(xué)年第二學(xué)期期末試卷
- 上海立信會(huì)計(jì)金融學(xué)院《數(shù)據(jù)挖掘與智能分析雙語(yǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 山西旅游職業(yè)學(xué)院《用戶界面設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 遼寧省交通高等??茖W(xué)?!堆b飾工程計(jì)量與計(jì)價(jià)設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣東茂名農(nóng)林科技職業(yè)學(xué)院《建筑設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣東舞蹈戲劇職業(yè)學(xué)院《基礎(chǔ)醫(yī)學(xué)概論》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年福建省安全員考試題庫(kù)及答案
- 廣西工業(yè)職業(yè)技術(shù)學(xué)院《器樂(lè)合奏2》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025貴州省安全員-B證考試題庫(kù)附答案
- 杭州市淳安縣國(guó)有企業(yè)招聘筆試真題2024
- 安徽省蕪湖市2024-2025學(xué)年第一學(xué)期期末考試七年級(jí)語(yǔ)文試卷(含答案)
- 2024政府采購(gòu)評(píng)審專家考試真題庫(kù)及答案
- 2024年花盆市場(chǎng)分析現(xiàn)狀
- 2025山東省退役軍人事務(wù)廳所屬事業(yè)單位招聘人員歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2024年社區(qū)工作者考試時(shí)事政治模擬題及答案
- 退市新規(guī)解讀-上海證券交易所、大同證券
- 教育部中國(guó)特色學(xué)徒制課題:現(xiàn)代職業(yè)教育體系建設(shè)背景下中國(guó)特色學(xué)徒制治理體系與資源配置研究
- 外墻真石漆施工方案
- 森林防火安全生產(chǎn)工作
- 護(hù)理工作十四五規(guī)劃
評(píng)論
0/150
提交評(píng)論