




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 安陽師范學院 面向對象程序設計課外實踐 面向對象程序設計課外實踐報告項 目 名 稱: 銀行賬戶管理程序(win32應用程序) 所 在 班 級: 13級物聯(lián)網工程 小 組 成 員: 王鐸 指 導 教 師: 趙紅丹 起 止 時 間: 2014.11.252014.12.20 項目基本信息項目名稱設計一個排課程序項目簡介1 問題描述設計一個銀行賬戶管理程序,賬戶的信息有賬號(唯一)、姓名、余額、身份證號碼、單位、電話號碼、地址等,允許用戶進行如下操作:開戶、銷戶、存款、取款、轉賬、查詢,一個用戶可以有多個戶頭,賬戶的數(shù)值沒有上限。2基本要求程序運行時,可以由用戶選擇進行何種操作,開戶操作要求輸入用
2、戶信息后自動獲取賬號,用戶銷戶后賬號被回收,并且該賬號可以繼續(xù)分配給其它賬戶,不允許用戶透支,根據姓名或賬號可以進行用戶的信息查詢,所有的賬戶信息應存放到一個文件中,可以隨時的訪問和更新3測試數(shù)據程序應輸入不少于10人的賬戶信息,應考慮到人員同名的情況。小組成員王鐸任務分工一、問題描述及分析:我們的銀行賬戶管理系統(tǒng)的主要問題就是 :1. 對剛剛開通銀行賬號的人們需要自動的按照先后順序給出所屬于他們的銀行賬號碼,切不允許號碼重復。即給賬號一個初始值,且開通一個賬戶賬號就自行加加,即將其設成靜態(tài)成員,即可達到要求。2. 對已開通的銀行賬戶能進行注銷賬號、存、取錢,賬戶之間能相互轉賬,且能記住他們的
3、賬戶信息,這就需要在銀行類Bank里控制賬號類Account的成員,然后進行編輯即可。3. 開通銀行賬號時需謹記自己的身份證號碼,這對以后查找個人信息十分關鍵,所以開戶時需要認真填寫個人信息,如實填寫!切記!二、功能模塊及結構描述:功能模塊:我們的程序共分為:開通銀行賬戶、注銷銀行賬戶、對已開通的賬戶進行存款、取款、對已開通的兩個賬戶進行轉賬、對已開通的賬戶的信息的查詢(包括對單個賬戶的查詢)這六個功能模塊。結構描述:1. 由于是銀行賬戶管理系統(tǒng),且是銀行管理賬號,所以共分為兩個類,即賬號類Account和銀行類Bank。2. 賬號類Account主要管理賬戶的所有信息,對賬號的輸入、存入、輸
4、出,對賬戶余額的轉入和轉出等都是賬號類管理的,而銀行類Bank是對人們進行開通銀行賬戶、注銷銀行賬戶、存款、取款、轉賬、已開通賬戶信息的查詢等服務的三、主要流程描述:流程圖:開始運行>開通賬戶(初始余額均為0)>賬戶信息存入文件>顯示所有已開通賬戶的信息>查詢單個賬戶信息(按身份證號碼查找)>賬戶進行存款、取款>兩個賬戶之間進行轉賬>注銷賬戶>結束運行 四、使用說明:程序運行后,進入界面:在如上所示的界面下,根據提示進行基本的操作。五、 問題及解決方法問題1.賬戶號碼accountnumber自動生成的問題,剛開始是將其定義在賬號類Account
5、和銀行類Bank這兩個類的外面,雖然可以自動生成,但是卻無法將各個賬戶號碼保存起來并且正確輸出。問題2.兩個賬戶轉賬時,無法將上個賬戶的錢數(shù)正確的轉入另一個賬戶問題3.注銷賬號時總是注銷不成功,注銷了還存在問題1的解決方法:accountnumber是賬號,故應是賬號類Account里的一個成員,由于它是自加的,所以將initnumber設置成靜態(tài)成員,另設一個accountnumber成員,且將initnumber的值賦給accountnumber,這樣就完成了賬號的自行增加且能保存。問題2的解決方法:兩個賬戶轉賬,應該也是賬號類Account里的函數(shù)的問題,所以,為了能使轉入錢的賬戶轉入的
6、錢數(shù)等于轉出錢的賬戶轉出的錢數(shù),那么,轉出錢的函數(shù)就應該有轉出錢數(shù)的返回值,即return money;而轉出錢的函數(shù)就應該將其轉出的money轉給這個賬戶,則函數(shù)就應該寫成void Account:cunru(float x),而下面運用轉賬時x=accoutsetm.zhuanzou();則轉賬時就寫成accoutsetm.cunru(x);即可。問題3的解決方法:銀行是管理賬號的,所以,若使銀行能夠注銷某個賬號的所有信息,那么,將這個賬號從賬號數(shù)組里去掉即可,則注銷一個賬號,賬號數(shù)組總數(shù)就減少1,即count=count-1;若使其賬號注銷,則可以先從數(shù)組中查詢到該賬戶,然后將其賬戶后面
7、的成員一個一個向前移一位:accoutsetl=accoutsetl+1;且數(shù)組總數(shù)減少了1,那么即可認為該賬戶已被注銷了。六、 課外實踐總結:通過這次課外實踐,我們真正體會到自己的能力的不足,當然,這次實踐沒有少請教老師,在老師的精心指導下,我們更加有信心去戰(zhàn)勝困難,并且愛上了編程,感覺C+還是比較容易學的,不過還是要好好學習,除了上課認真聽講外,還應該課下多上機實踐,把所學的一點一滴慢慢積累下來,不然到最后什么都沒記住,到那時候再后悔自己平時沒有好好學習就已經晚了,一般都是書到用時方恨少,所以,平時就該把該記的都會用,到時候編程的時候用的得心應手,不管怎么說,總之,我們都要多學、多問、多總
8、結,爭取將C+學精、學通!七、 源代碼:#include<iostream>#include<string>#include<fstream>#include<cstdlib>using namespace std;class Account/-賬戶類public:Account()/-Account構造函數(shù) accountnumber=initnumber;/-賬戶號碼賦值 initnumber+; rest_money=0; Account()/-Account析構函數(shù)void Input();/-輸入賬戶信息函數(shù)void Printf1()
9、;/-輸出賬戶信息函數(shù)void Delete();/-刪除賬戶信息函數(shù)void Add();/-增加錢數(shù)void Min();/-減少錢數(shù)float zhuanzou();/-轉走void cunru(float x);/-存入string id;/-身份證號碼 float rest_money;/-余額protected:string name;/-姓名int age;/-年齡string danwei;/-單位string phonenumber;/-電話號碼string address;/-地址string password;/-密碼string password1;/-密碼1float
10、 money1;/-轉的金額 long accountnumber;/-賬戶號碼static int initnumber;/-設置靜態(tài)成員,讓賬號能自行加加;int Account:initnumber=622001;void Account:Input()/-輸入賬戶信息函數(shù) int a; system("cls"); cout<<"您好!*_* 歡迎您來開通銀行賬戶!*.* "<<endl; cout<<" "<<endl; cout<<" "<
11、;<endl; cout<<"-"<<endl;cout<<"接下來,請您依次輸入您的 姓名 年齡 身份證號碼 單位 電話號碼 地址 密碼 "<<endl; cin>>name>>age>>id>>danwei>>phonenumber>>address>>password; cout<<"請再次出入您的密碼: " cin>>password1; if(password1=p
12、assword) cout<<"您好!*_* 您的賬戶號碼是:"<<accountnumber<<endl; cout<<"恭喜您的存折賬戶已開通!請您記好您的賬戶號碼和您的密碼!*.* *.*"<<endl; cout<<"-"<<endl; else cout<<"很抱歉!您與上次輸入的密碼不一致!請重新開戶!"<<endl; a=1; system("pause"); void Ac
13、count:Printf1()cout<<"該賬號的銀行賬戶信息如下:"<<endl;cout<<"姓名:"<<name<<"年齡:"<<age<<"身份證號碼:"<<id<<"單位:"<<danwei<<"電話號碼:"<<phonenumber<<"地址:"<<address<<
14、;"賬戶號碼:"<<accountnumber<<"余額:"<<rest_money<<endl;void Account:Add()/-增加錢數(shù) long money; cout<<"請輸入您要存入的錢數(shù):"<<endl; cin>>money; rest_money=rest_money+money; cout<<"您好!*_* 恭喜您,存入成功 !"<<endl;void Account:Min()/-
15、減少錢數(shù) long money; cout<<"請輸入您要取出的錢數(shù):"<<endl; cin>>money; if(rest_money>=money) rest_money=rest_money-money; else cout<<"您好!*_* 很抱歉,您的余額不足 !"<<endl;float Account:zhuanzou()/-轉走 float money; cout<<"請輸入您要轉走的錢數(shù):"<<endl; cin>>
16、;money; if(rest_money>=money) rest_money=rest_money-money; return money; else cout<<"您好!*_* 很抱歉,您的余額不足 !"<<endl;void Account:cunru(float x)/-存入 rest_money=rest_money+x;class Bank /-定義銀行類public:Bank()/-創(chuàng)建Bank類構造函數(shù)void Menu();/-銀行賬戶管理系統(tǒng)菜單void savefile();/-存入文件void Xianshi1();/
17、-顯示所有已開通賬戶的信息void Xianshi2();/-顯示單個已開通賬戶的信息void Geshu();/-顯示當前銀行賬戶數(shù)目void Kaihu();/-開通銀行賬戶 void xiaohu();/-注銷銀行賬戶void deposit();/-存款void withdraw();/-取款void zhuanzhang();/-轉賬protected:string password;/-密碼float rest_money;/-余額Account accoutset10;/-賬戶類對象數(shù)組作為銀行成員static int count;/-靜態(tài)數(shù)據成員,用來累計賬號的個數(shù);void
18、Bank:Menu()/-銀行賬戶管理系統(tǒng)菜單 cout<<" 歡迎您光臨銀行賬戶管理系統(tǒng)!*.*"<<endl; cout<<""<<endl;cout<<""<<endl; cout<<" -*-"<<endl;cout<<" |"cout<<" "cout<<"|"<<endl;cout<<&qu
19、ot; |" cout<<" 1.開通銀行賬戶 "cout<<"|"<<endl;cout<<" |"cout<<" "cout<<"|"<<endl;cout<<" |"cout<<" 2.注銷銀行賬戶 "cout<<"|"<<endl;cout<<" |"cou
20、t<<" "cout<<"|"<<endl;cout<<" |"cout<<" 3.存款 "cout<<"|"<<endl;cout<<" |"cout<<" "cout<<"|"<<endl;cout<<" |"cout<<" 4.取款 "c
21、out<<"|"<<endl;cout<<" |"cout<<" "cout<<"|"<<endl;cout<<" |"cout<<" 5.轉賬 "cout<<"|"<<endl;cout<<" |"cout<<" "cout<<"|"<
22、<endl; cout<<" |"cout<<" 6.查詢賬戶信息 "cout<<"|"<<endl;cout<<" |"cout<<" "cout<<"|"<<endl; cout<<" -*-"<<endl; cout<<" 請輸入您要進行的業(yè)務的編碼:"<<endl;void Ban
23、k:Kaihu()/-開通銀行賬戶 Account acc; acc.Input();accoutsetcount=acc;+count;void Bank:savefile()/-存入文件ofstream fout("D:f2.dat",ios:out|ios:app); if(!fout) cout<<"Cannot open output file.n"return; for(int i=0;i<=count;i+) fout.write(char*) &accoutseti,sizeof(accoutseti);fout
24、.close();void Bank:Geshu()/-顯示當前銀行賬戶數(shù)目cout<<"當前已開通的賬戶數(shù)目為:"<<count<<endl;void Bank:Xianshi1()/-顯示所有已開通賬戶的信息for(int m=0;m<count;m+) accoutsetm.Printf1();void Bank:Xianshi2()/-顯示單個已開通賬戶的信息 string id1;cout<<"您好!*_* 請輸入您要顯示的賬戶的身份證號碼:"<<endl;cin>>
25、id1;for(int m=0;m<count;m+) if(id1=accoutsetm.id) accoutsetm.Printf1(); elsecout<<"您好!*_* 該賬號不存在 !"<<endl; void Bank:xiaohu()/-注銷賬戶 string id1; cout<<"您好!*_* 請輸入您要注銷的賬戶的身份證號碼:"<<endl; cin>>id1;for(int m=0;m<count;m+) if(id1=accoutsetm.id) for(i
26、nt l=m;l<count;l+) accoutsetl=accoutsetl+1; count=count-1; cout<<"您好!*_* 該賬號已被注銷 !"<<endl; break; else cout<<"您好!*_* 該賬號不存在 !"<<endl;void Bank:deposit()/-存款string id1; cout<<"您好!*_* 請輸入您要存款的賬戶的身份證號碼:"<<endl; cin>>id1;for(int
27、m=0;m<count;m+) if(id1=accoutsetm.id) accoutsetm.Add(); cout<<"您好!*_* 恭喜您存入成功 !"<<endl; elsecout<<"您好!*_* 該賬號不存在 !"<<endl;void Bank:withdraw()/-取款string id1; cout<<"您好!*_* 請輸入您要取款的賬戶的身份證號碼:"<<endl; cin>>id1;for(int m=0;m<count;m+) if(id1=accoutsetm.id) accoutsetm.Min(); elsec
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療機構人才培養(yǎng)計劃補充協(xié)議
- 健康管理服務與慢病管理合同
- 新都區(qū)公務員考試題目及答案
- 高效牧場奶牛養(yǎng)殖委托管理與收益分成協(xié)議
- 情感出軌過錯通知及財產分割協(xié)議
- 特殊人群營養(yǎng)餐配送及跟蹤服務協(xié)議
- 硬件產品檢測與質量認證補充協(xié)議
- 城市更新項目房產使用權及拆遷補償協(xié)議
- 校招運營專員筆試題目及答案
- 國際旅行意外傷害救援及保障服務協(xié)議
- 叉車加油管理規(guī)范
- 涉外商標培訓-中科為
- 陽光心態(tài)快樂職場
- 五金采購合同(含清單明細)2022
- 麻醉藥品專用賬冊
- 專利技術交底書-案例模板-軟件類-樣板示例
- 初、中、高級工程師申報培訓課件
- 紅樓夢英文版(楊憲益譯)
- GB/T 5249-1985可滲透性燒結金屬材料-氣泡試驗孔徑的測定
- 醫(yī)療器械表格-個人健康檔案表-
- GB/T 16180-2014勞動能力鑒定職工工傷與職業(yè)病致殘等級
評論
0/150
提交評論