c++課程設計報告_第1頁
c++課程設計報告_第2頁
c++課程設計報告_第3頁
c++課程設計報告_第4頁
c++課程設計報告_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

c++課程設計報告《C++程序設計》課程設計說明書題目銀行儲蓄系統(tǒng)學號姓名指導教師劉麗新日期2014.12

內蒙古科技大學課程設計任務書課程名稱面向對象程序設計A課程設計設計題目銀行儲蓄管理的設計指導教師周李勇時間2013-2014秋學期第17、18周一、教學要求1.鞏固和加深學生對C++語言課程的基本知識的理解和掌握

2.掌握C++語言編程和程序調試的基本技能

3.利用C++語言進行基本的軟件設計

4.掌握書寫程序設計說明文檔的能力

5.提高運用C++語言解決實際問題的能力二、設計資料及參數(shù)用C++設計一個系統(tǒng),能提供下列服務:錄入帳號信息,格式為:帳號姓名密碼身份證日期余額利率操作人090800213435李四12345615020119880808008882011-11-2210.30.0037操作包括存款取款,利息結算。登錄功能。輸入帳號和密碼進行登錄。存款功能。登錄某個帳號后,輸入存款金額,更新賬戶的余額。取款功能。登錄后,輸入取款金額,當余額大于取款金額時,執(zhí)行取款操作,利息結算。、根據(jù)存款的利率和存款時間金額計算利息并登入賬戶。查詢。查詢某個時間段內的賬戶操作記錄。三、設計要求及成果根據(jù)系統(tǒng)功能要求,可以將問題解決分為以下步驟:(1)分析系統(tǒng)中的各個實體之間的關系及其屬性和行為;(2)根據(jù)問題描述,設計系統(tǒng)的類層次;(3)完成類層次中各個類的描述(包括屬性和方法);(4)完成類中各個成員函數(shù)的定義;(5)完成系統(tǒng)的應用模塊;(6)功能調試;(7)提交課程設計報告:完成系統(tǒng)總結報告以及系統(tǒng)使用說明書目錄21313一、內蒙古科技大學課程設計任務書 219067二、目錄 34511第1章需求分析 49453第2章總體設計 4第3章9028模塊分析 5266643.1client類 524499第4章詳細設計 6216644.1工程視圖 663004.2類圖視圖 610384.3主程序流程圖 7318694.3主要算法的流程圖 714第5章測試 85934第6章總結 929448附錄:程序代碼 10

需求分析二、設計資料及參數(shù)用C++設計一個系統(tǒng),能提供下列服務:錄入帳號信息,格式為:帳號姓名密碼身份證日期余額利率操作人090800213435李四12345615020119880808008882011-11-2210.30.0037操作包括存款取款,利息結算。登錄功能。輸入帳號和密碼進行登錄。存款功能。登錄某個帳號后,輸入存款金額,更新賬戶的余額。取款功能。登錄后,輸入取款金額,當余額大于取款金額時,執(zhí)行取款操作,利息結算。、根據(jù)存款的利率和存款時間金額計算利息并登入賬戶。查詢。查詢某個時間段內的賬戶操作記錄??傮w設計1.用結構框圖表示各個功能之間的關系。將框圖中系統(tǒng)的各個功能用文字詳細的描述。注冊開戶:對未進行開戶的人員進行開戶,并保存。登陸界面:對已開戶人員進行登陸,從而進行下一步操作。存錢界面:輸入存款金額并對以前剩余金額進行計算。取錢界面:取錢后在原金額的基礎上進行減法計算。查詢余額:查詢現(xiàn)在賬戶內所剩余金額。模塊分析3.1client類制定用戶的成員數(shù)據(jù)類型,進行登陸于保存功能并實現(xiàn)用戶的各種功能。代碼為:client::client(intl);stringgetID(){returnID;}stringgetname(){returnname;}stringgetadress(){returnadress;}stringgetphnumber(){returnphnumber;}stringgetcode(){returncode;}stringgetmType(){returnmType;}stringgetcType(){returncType;}doublegetbalance(){returnbalance;}詳細設計工程視圖說明有幾個源代碼文件,可以截取工程文件視圖表示類圖視圖每個文件包含哪些類和函數(shù),可以截圖說明3.3主程序流程圖銀行儲蓄管理系統(tǒng)登入開戶退出存款查詢余額取款修改密碼填寫個人信息主要算法的流程圖測試運行測試:圖4.1主菜單登陸測試:圖4.2登陸賬戶存款測試:圖4.3賬戶存款取款測試:圖4.4賬戶取款查詢余額測試:圖4.5查詢余額修改密碼測試:總結通過這次c++課程設計,使我學到面向對象的程序設計思想用到具體的工作和學習中,加深對類與對象的理解,是將計算機課程與實際問題相連接的關鍵步驟。通過課程設計提高了自己分析問題,運用所學知識解決實際問題的能力,并培養(yǎng)了基本的程序設計技能。這次的課程設計,讓我用一個相對比較集中的時間去練習,特別是自己的動手能力,因為這次課程設計覆蓋面比較廣泛。經過了這次設計,讓我找到了學習上的漏洞,一些課程設計上以前沒有弄懂的知識,都在這次的課程設計上有所提高。附錄:程序代碼#include<iostream>#include<fstream>#include<string>#include<vector>usingnamespacestd;voidmainminue();classclient{public:client();//構造函數(shù)client::client(intl);stringgetID(){//獲取身份證號returnID;}stringgetname(){//獲取真實姓名returnname;}stringgetadress(){//獲取地址returnadress;}stringgetphnumber(){//獲取電話號碼returnphnumber;}stringgetcode(){//獲取密碼returncode;}stringgetmType(){//獲取貨幣種類returnmType;}stringgetcType(){//獲取賬戶種類returncType;}doublegetbalance(){//獲取賬戶余額returnbalance;}intgetlim(){returnlim;}voidsetbalance(doublem){balance=m;}voidsetmType(strings){mType=s;}voidsetcode(stringc){code=c;}voidwrite(ofstream&s){s<<ID<<endl;s<<name<<endl;s<<adress<<endl;s<<phnumber<<endl;s<<code<<endl;s<<cType<<endl;s<<mType<<endl;s<<balance<<endl;s<<lim<<endl<<endl;}voidread(ifstream&s){s>>ID;s>>name;s>>adress;s>>phnumber;s>>code;s>>cType;s>>mType;s>>balance;s>>lim;}voiddisplay(){stringtemp;if(cType=="cur")temp="活期存款";elseif(cType=="ter")temp="定期存款";elsetemp="信用卡賬戶";cout<<"賬戶類型"<<"余額"<<"存款年限"<<endl;cout<<temp<<""<<balance<<""<<lim<<""<<endl;}private:stringID,name,adress,phnumber,code;stringcType,mType;doublebalance;//賬戶余額intlim;//存款年限};client::client(){ID="";name="";adress="";phnumber="";code="";cType="";mType="";balance=0;lim=0;};client::client(intl){//clientclient_zx;stringcode_1;intflag=0,lim1=0,clientcount,change;stringid,na,ad,ph,cT="",mT="";doubleba=0;lim=l;balance=0;mType="人民幣";cout<<"請輸入您的身份證號:";cin>>ID;cout<<"請輸入您的真實姓名:";cin>>name;cout<<"請輸入您的居住地址:";cin>>adress;cout<<"請輸入您的電話號碼:";cin>>phnumber;do{system("cls");flag=0;cout<<"請選擇您要創(chuàng)建的賬戶種類:"<<endl;cout<<"1,活期存款賬戶"<<endl;cout<<"2,定期存款賬戶"<<endl;cout<<"3,信用卡賬戶"<<endl;cin>>change;if(change!=3&&change!=1&&change!=2){cout<<"choiceiswrong!"<<endl;getchar();system("pause");system("cls");flag=1;}else{ifstreaminstream("zx.in");vector<client>client1(100);for(inti=0;i<100;i++){client1[i].read(instream);if(instream.fail()!=0)break;}instream.close();clientcount=i;switch(change){case1:cType="cur";break;case2:cType="ter";break;case3:cType="cre";break;}for(i=0;i<clientcount;i++){if(client1[i].getID()==ID&&client1[i].getcType()==cType){cout<<"賬戶類型已創(chuàng)建,按任意鍵返回重新創(chuàng)建";getchar();flag=1;break;}}}}while(flag);do{system("cls");cout<<"請輸入密碼:";cin>>code;cout<<"請再次輸入密碼:";cin>>code_1;if(code==code_1){cout<<"賬戶創(chuàng)建成功,按任意鍵返回主菜單"<<endl;getchar();//system("cls");ofstreamoutputstream("zx.in",ios::app);write(outputstream);outputstream.close();mainminue();}else{cout<<"密碼輸入不一致,請按任意鍵重新輸入!";getchar();}}while(code!=code_1);}//主函數(shù)intmain(){voidmainminue();mainminue();//調用主菜單函數(shù)return0;}//主菜單函數(shù)voidmainminue(){intchoice;voidcreater();voidloading();do{system("cls");cout<<"歡迎使用銀行管理系統(tǒng):"<<endl;cout<<"1:創(chuàng)建賬戶"<<endl;cout<<"2:登入賬戶"<<endl;cout<<"0:退出"<<endl;cin>>choice;if(choice!=0&&choice!=1&&choice!=2){cout<<"choiceiswrong!"<<endl;getchar();system("cls");//mainminue();}else{switch(choice){case1:creater();break;case2:loading();break;case0:break;}}}while(choice!=0);}//創(chuàng)建賬戶voidcreater(){clientclient_zx(0);}voidloading(){inti,j,clientcount,flag=0,choice,s=0,c1,geter,m;stringc_id,ct,code_a,mType;charch;voidbancher();ifstreaminstream("zx.in");vector<client>client1(100);for(i=0;i<100;i++){client1[i].read(instream);if(instream.fail()!=0)break;}instream.close();clientcount=i;cout<<"請輸入身份證號"<<endl;cin>>c_id;for(i=0;i<clientcount;i++){if(client1[i].getID()==c_id){flag=1;break;}}if(!flag){system("cls");cout<<"您尚未創(chuàng)建任何賬戶,是否創(chuàng)建?";cout<<"1,yes";cout<<"2,no";cin>>choice;switch(choice){case1:creater();break;case2:break;}}else{vector<client>zx(3);for(i=0,j=0;i<3&&j<clientcount;j++)if(client1[j].getID()==c_id)zx[i++]=client1[j];j=i;vector<client>elseclient(100-j);for(i=0,m=0;(m<(100-j))&&(i<100);i++)if(client1[i].getID()!=c_id)elseclient[m++]=client1[i];ofstreamoutput("zx.in",ios::app);for(i=0;i<m;i++)elseclient[i].write(output);output.close();do{system("cls");cout<<"請選擇你要登入的賬戶類型";cout<<"1,活期存款賬戶"<<endl;cout<<"2,定期存款帳戶"<<endl;cout<<"3,信用卡賬戶"<<endl;cin>>c1;}while(c1!=1&&c1!=2&&c1!=3);switch(c1){case1:ct="cur";break;case2:ct="ter";break;case3:ct="cre";break;}for(i=0;i<j;i++)if(zx[i].getcType()==ct){flag=0;break;}if(flag){cout<<"您尚未創(chuàng)建此種賬戶類型!";}else{do{cout<<"請輸入密碼";cin>>code_a;for(i=0;i<j;i++)if(zx[i].getcode()==code_a){flag=1;break;}if(!flag){cout<<"密碼錯誤:請重新輸入:";s=1;}else{cout<<"登陸成功!"<<endl;getchar();do{do{system("pause");system("cls");cout<<"1,取款"<<endl;cout<<"2,存款"<<endl;cout<<"3,查詢余額"<<endl;cout<<"4,同ID下其它賬戶信息"<<endl;cout<<"5,修改密碼"<<endl;cout<<"6,返回主菜單"<<endl;cin>>c1;}while(c1!=1&&c1!=2&&c1!=3&&c1!=4&&c1!=5&&c1!=6);if(c1==1){//取款cout<<"請輸入取款金額:"<<endl;cin>>geter;if((zx[i].getcType()=="cur")&&(geter<=zx[i].getbalance())){cout<<"請取錢"<<endl;getchar();zx[i].setbalance(zx[i].getbalance()-geter);}elseif((zx[i].getcType()=="cre")&&(zx[i].getbalance()>=(geter-10000))){cout<<"請取錢"<<endl;getchar();zx[i].setbalance(zx[i].getbalance()-geter);}elseif((zx[i].getcType()=="ter")&&(geter<=zx[i].getbalance())&&(zx[i].getlim()==0)){cout<<"請取錢"<<endl;getchar();zx[i].setbalance(zx[i].getbalance()-geter);}else{if(zx[i].getcType()=="cur")cout<<"賬戶余額不足"<<endl;elseif(zx[i].getcType()=="cre")cout<<"賬戶透支過度"<<endl;elsecout<<"定期存款用戶未到期"<<endl;getchar();}}elseif(c1==2){//存款do{system("cls");cout<<"請選擇貨幣類型"<<endl;cout<<"1,人民幣"<<endl;cout<<"2,美元"<<endl;

溫馨提示

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

評論

0/150

提交評論