銀行賬戶管理程序_第1頁
銀行賬戶管理程序_第2頁
銀行賬戶管理程序_第3頁
銀行賬戶管理程序_第4頁
銀行賬戶管理程序_第5頁
已閱讀5頁,還剩12頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

課程設計報告課程設計題目:銀行賬戶管理程序學生姓名:專業:班級:指導教師:2011年12實驗題目:銀行賬戶管理程序實驗時間、地點:實驗目的:在《面向對象程序設計》課程教學的基礎上,根據軟件工程的方法與流程,在相對集中的實訓教學時間內,通過一個功能較完整的小型應用系統的設計與開發,深入復習并進一步掌握面向對象的程序設計思想與方法。同時,作為整個實踐教學體系一部分,系統培養學生采用面向對象的方法分析問題與解決問題的能力及團體組織與協作能力。四、實驗要求:從課程設計的目的出發,通過設計工作的各個環節,達到以下教學要求:1)根據實現的功能,劃分出合理的對象類,明確對象類間的關系。2)為每個對象類設計正確的域和方法,為每個方法設計合理的方法體。同時,為對象類及內部的域和方法運用正確的修飾符,如訪問控制符等。3)編程簡練,程序功能齊全,能正確運行。4)說明書、流程圖要清楚,規范(必須采用UML格式)5)課題完成后必須按要求提交課程設計報告,格式規范,內容詳實。五、實驗思路:1.系統需求分析分析銀行賬戶管理程序所要做的工作,分析賬戶的信息及用戶所要做的操作。賬戶的信息有賬號(唯一)、姓名、余額、身份證號碼、單位、電話號碼、地址等,允許用戶進行如下操作:開戶、銷戶、存款、取款、轉賬、查詢,2.思路創建分析銀行賬戶管理程序要建立兩個類,一個賬戶類(w)存放賬戶信息以及相應的界面,一個用戶類(consumer)管理用戶對賬戶的相應操作。一個用戶可以有多個戶頭,賬戶的數值沒有上限。用戶的操作應由用戶進行選擇。六、實驗過程:1.UML圖(1)WW+kaihu()void+shanchu()void+zhuanzhang(int)void+denglu()void+addmoney(int,float)void+exitw()void+functionshow()void+save()void+qishi()void#consumer*account[20]#staticintnumconsumer+consumer(intid,stringName,stringPassWord,floatm)+consumer()+get_id()int+cunmoney()void+stringget_passwd()+display()void+qumoney()void+change_passwd()void+b_money(float)void+a_money(float)void+get_money()floatIDintstringpasswdstringnamemoneyfloat2.程序代碼及程序分析#include<iostream>#include<string>#include<fstream>usingnamespacestd;classconsumer;classw{public:voidkaihu();//銀行開戶voidshanchu();//刪除賬號voidzhuanzhang(int);//轉賬voiddenglu();//登陸賬號voidaddmoney(int,float);voidexitw();//退出系統voidfunctionshow();voidsave();//保存voidqishi();//功能界面protected:consumer*account[20];staticintnum;//賬戶數};intw::num=0;classconsumer:publicw{public:friendclassw;consumer(intid,stringName,stringPassWord,floatm){ID=id; name=Name; money=m; passwd=PassWord;}consumer()//類的初始 { ID=0; name='0'; money=0; passwd='0'; }intget_id()//返回賬號 { returnID; }voidcunmoney();//存錢stringget_passwd()//取得密碼 { returnpasswd; }voiddisplay();voidqumoney();//取錢voidchange_passwd();//改密碼voidb_money(float);//被轉賬者voida_money(float);//轉賬者floatget_money();//卡卡轉帳private:intID;//開戶帳號stringpasswd;//用戶密碼stringname;//用戶姓名floatmoney;//初始資金};voidw::save()//賬號的保存{ /*ofstreamofile("bankdat.dat",ios::out);ofstreamoutfile("bankdat.dat",ios::out);intn=0;outfile<<acnum<<"";for(;n<acnum;n++) { outfile<<account[n]->ID<<"";outfile<<account[n]->money<<"";outfile<<account[n]->name<<"";outfile<<account[n]->passwd<<""; }outfile.close();*/}voidw::zhuanzhang(intx)//轉賬的實現{ intid;cout<<"請輸入帳號:";cin>>id;intflag=1;inti=0;while((i<num)&&(flag)) {if(id==account[i]->get_id()) flag=0;else i++; }if(flag) {cout<<"帳號不存在!"<<endl;return; }floatb;cout<<"請輸入你要轉帳的金額:"<<endl;cin>>b;while(b<=0) {cout<<"請輸入正確的數字!"<<endl;cout<<"$>";cin>>b;}if(account[x]->get_money()<b) cout<<"對不起,金額不夠!!"<<endl;else { account[x]->a_money(b);//轉出 account[i]->b_money(b);//轉入cout<<"轉帳成功!"; }return;}voidconsumer::b_money(floatx){ money=x+money;}voidconsumer::a_money(floatx){ money=money-x;}voidw::addmoney(intx,floaty){ account[x]->money=account[x]->money-y;}floatconsumer::get_money()//查詢{ returnmoney;}voidmain(){ wyh;yh.functionshow();}voidw::functionshow(){intn;do{cout<<endl<<"請你輸入相應的操作序號進行操作:"<<endl;cout<<"1)用戶開戶"<<endl<<"2)賬戶登陸"<<endl<<"3)帳戶注銷"<<endl<<"4)退出系統"<<endl;cout<<"$>";cin>>n;while(n<1||n>4) {cout<<"請輸入正確的操作序號!"<<endl;cout<<"$>";cin>>n; }switch(n) {case1:kaihu();break;case2:denglu();break;case3:shanchu();break;case4:exitw();break; }}while(true);}voidw::denglu()//登陸賬號的實現{ intid;cout<<"請輸入帳號:";cin>>id;intflag=1;inti=0;while((i<num)&&(flag)) {if(id==account[i]->get_id()) flag=0; else i++; }if(flag) {cout<<"帳號不存在!"<<endl;return; }cout<<"請輸入密碼:";stringpassw;cin>>passw;if(passw!=account[i]->get_passwd()) return;intn;do{cout<<"請選擇你要進行的操作:"<<endl<<"1)查看信息"<<endl<<"2)取款"<<endl<<"3)存款"<<endl<<"4)修改密碼"<<endl<<"5)轉賬"<<endl<<"6)返回"<<endl;cin>>n;switch(n) { case1:account[i]->display();break;case2:account[i]->qumoney();save();break;case3:account[i]->cunmoney();save();break;case4:account[i]->change_passwd();save();break;case5:zhuanzhang(i);save();break;case6:return; }}while(1);}voidw::kaihu()//開戶的實現{intid;stringnam;stringpassw;floatm;cout<<endl<<"請輸入開戶號:";cin>>id;cout<<endl<<"請輸入開戶人姓名:";cin>>nam;cout<<endl<<"請輸入開戶密碼:";cin>>passw;cout<<endl<<"請輸入存入金額:";cin>>m;while(m<=0) {cout<<"請輸入正確的數字!"<<endl;cin>>m;}consumer*acc=newconsumer(id,nam,passw,m);account[num]=acc; system("cls");cout<<"開戶成功!!"<<endl<<endl;num++;save();return;}voidw::shanchu()//注銷賬號的實現{intid;cout<<endl<<"請輸入你要注銷的帳戶號:";cin>>id;intflag=1;inti=0;while((i<num)&&(flag)){if(id==account[i]->get_id()) {flag=0; }else {i++; }}if(flag){cout<<"帳號不存在!"<<endl;return;}for(intj=i;j<num;j++){account[j]=account[j+1];}account[num-1]=NULL;num--;cout<<"注銷成功!!"<<endl;return;}voidconsumer::change_passwd()//變更密碼的實現{stringpwd,repwd;cout<<"請輸入新密碼:";cin>>pwd;cout<<"請再輸入一次新密碼:";cin>>repwd;if(pwd!=repwd)cout<<"你輸入的兩次密碼不一樣,請重新輸入!"<<endl;passwd=pwd;cout<<"密碼修改成功,請牢記!"<<endl;}voidconsumer::qumoney()//取錢的實現{floatm;charch;do{cout<<endl<<"你要取多少錢:"<<"$>"<<endl;cin>>m;while(m<=0){cout<<"請輸入正確的數字!"<<endl;cout<<"$>";cin>>m;}if(money<m){cout<<"對不起,你的余額不足!"<<endl;}else{ money=money-m;cout<<endl<<"操作成功,請收好錢!"<<endl;}cout<<"是否要繼續該項操作:(Y/N)"<<endl;cout<<"$>";cin>>ch;while(ch!='n'&&ch!='N'&&ch!='Y'&&ch!='y'){cout<<"$>";cin>>ch;}}while(ch=='y'||ch=='Y');}voidconsumer::cunmoney()//存錢的實現{floatc;charch;do{cout<<endl<<"你要存多少錢:"<<"$>"<<endl;cin>>c;while(c<=0){cout<<"請輸入正確的數字!"<<endl;cout<<"$>";cin>>c;}money=money+c;cout<<"操作已成功!"<<endl;cout<<"是否要繼續該項操作:(Y/N)"<<endl;cout<<"$>";cin>>ch;while(ch!=

溫馨提示

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

評論

0/150

提交評論