版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、荊楚理工學(xué)院課程設(shè)計成果學(xué)院: 班 級: 學(xué)生姓名: 學(xué) 號: 設(shè)計地點(單位)_ _ _設(shè)計題目:_ 銀行賬戶管理系統(tǒng)_ 完成日期: 2014年 月 日 指導(dǎo)教師評語: _ _ _ _ _ 成績(五級記分制):_ _ _ 教師簽名:_ _目 錄1 需求分析12 概要設(shè)計22.1系統(tǒng)的可行性22.2 對象設(shè)計22.3 利用鏈表來存放記錄33詳細設(shè)計33.1概念設(shè)計階段主要任務(wù)33.2 系統(tǒng)設(shè)計框架33.3類的定義43.3 其他重要函數(shù)54 測試結(jié)果及運行效果74.1 運行結(jié)果截圖74.2 讀取文件截圖115 系統(tǒng)開發(fā)所用到的技術(shù)12附錄 代碼部分13參考文獻261 需求分析隨著科學(xué)技術(shù)的發(fā)展,
2、計算機領(lǐng)域不斷取得新的研究成果。計算機在代替和延伸腦力勞動方面發(fā)揮越來越重要的作用,不僅在工業(yè)方面而且在日常生活中也越來越離不開計算機。尤其是在學(xué)校里,要處理大量的學(xué)生數(shù)據(jù)。隨著科學(xué)技術(shù)的不斷提高,計算機科學(xué)日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用.作為計算機應(yīng)用的一部分,使用計算機對銀行賬戶進行管理,有著手工管理所無法比擬的優(yōu)點。隨著社會經(jīng)濟的發(fā)展,信息化程度的不斷深入,銀行的傳統(tǒng)業(yè)務(wù)己愈來愈不能滿足銀行客戶的需要?,F(xiàn)今,人們的金融意識、科技意識己經(jīng)有了很大的提高,在緊張忙碌的生活中,己越來越來不習(xí)慣每月奔忙于各銀行營業(yè)柜臺之問去排隊取款。同
3、時,隨著我國加入世貿(mào)組織的日益臨近,我國的銀行業(yè)將面臨更加激烈的同業(yè)競爭,如何提供更多的金融產(chǎn)品和更優(yōu)質(zhì)的服務(wù),如何吸引更多的客戶,如何利用計算機技術(shù)加強銀行賬戶信息管理、是擺在各家銀行面前的一個迫切需要解決的問題。近幾年來,各商業(yè)銀行加快了與社會各業(yè)的合作,利用自身的網(wǎng)點優(yōu)勢和業(yè)務(wù)特點,都提供了自動存取款機,但這都離不開計算機的高效管理支持。如何利用電子化的手段構(gòu)建一個高效統(tǒng)一的、通用靈活的系統(tǒng)來管理各種各樣的業(yè)務(wù),是每個商業(yè)銀行所要研究的課題。根據(jù)題目要求,要實現(xiàn)銀行賬戶的開戶(一個用戶可以有多個戶頭)、銷戶、存款、取款、轉(zhuǎn)賬、查詢(賬號查詢、姓名查詢)等功能。(程序開始運行時,自動調(diào)用文
4、件函數(shù),將文件中的信息導(dǎo)入到內(nèi)存里)輸入-用戶姓名(name)、密碼 (password)、身份證號碼(id_card)、單位(company)、手機號碼(phone)、住址(address)、余額 (balance)的輸入。開戶- 自動生成賬號,并將輸入的信息添加到鏈表中。銷戶-刪除該賬號的所有信息。存款-通過查找到賬號,對余額添加存款數(shù)。取款-通過查找到賬號,對余額減去取款數(shù)。轉(zhuǎn)賬-通過查找到賬號,把賬號A的轉(zhuǎn)賬數(shù)給予賬號B中。查詢-根據(jù)姓名或賬號可以進行用戶的信息查詢,并顯示該用戶或賬號的全部信息。(程序運行結(jié)束時,鏈表中剩下的信息被寫到文件中,同時也可以對文件中的信息進行修改操作)2
5、概要設(shè)計2.1系統(tǒng)的可行性(1)管理上的可行性使用管理方面的可行性,在沒有使用銀行管理系統(tǒng)前,采取的是人工方式,相對而言耗時大,效率低且造成一定的資源浪費。我們通過設(shè)計銀行管理系統(tǒng),可以對銀行的一般業(yè)務(wù)進行有序管理,對于客戶的個人資料也不需要做大量煩瑣的登記工作,變的相對簡單容易操作且不用耗費大量人力財力。(2)技術(shù)上的可行性技術(shù)方面,我們選擇的是vc+操作系統(tǒng),是我們相對比較熟悉的語言,且應(yīng)用簡便好掌握。這是本小組初次設(shè)計銀行管理系統(tǒng),由于技術(shù)和知識層面的欠缺,在制作過程中會遇到許多的困難,在編程和設(shè)計過程中,感覺到知識積累的不夠并且很多知識點已經(jīng)淡忘。通過老師的指導(dǎo)以及小組成員的一起努力,
6、我們翻越大量資料和操作,我們的系統(tǒng)得以比較順利的開發(fā)出來。但始終因為時間和技術(shù)方面的不足,是我們設(shè)計的程序依然有很多不完善的地方,我們會在以后的開發(fā)中努力學(xué)習(xí),使這個系統(tǒng)更完善更適合使用。(3)經(jīng)濟上的可行性經(jīng)濟上,由于我們開發(fā)的這個系統(tǒng)相對較小也較簡單,不需要投入大筆資金,同時又存在著實用性,能改善原使用方法在財力和人力上的過度消耗。因此這個新系統(tǒng)一經(jīng)使用便可收到很好的成效,做到合理節(jié)約和利用資源。銀行方面在使用新系統(tǒng)時只需要花一定資金購買一部分計算機與軟件就能實現(xiàn)自動化,既提高了工作效率并且也減少了工作人員的工作量,這使銀行在處理業(yè)務(wù)方面得到很大的提升空間。2.2 對象設(shè)計把用戶信息設(shè)計成
7、類users,由safe_conduct函數(shù)用于銀行管理員登陸系統(tǒng)的安全操作。并設(shè)計簡單的類型轉(zhuǎn)換函數(shù)(將字符型變量id轉(zhuǎn)換成整型變量,便于添加賬號是加1生成新賬號)2.3 利用鏈表來存放記錄關(guān)系模型的完整性約束規(guī)則是對關(guān)系的某種約束條件。關(guān)系模型中可以有3類完整性約束:實體完整性、參照完整性及用戶自定義完整性。此關(guān)系模式中既滿足實體完整性約束也滿足參照完整性約束。此數(shù)據(jù)庫本身滿足數(shù)據(jù)庫的安全性。由于數(shù)組存放數(shù)據(jù)的時候要先確定數(shù)組的規(guī)模,不能動態(tài)的分配內(nèi)存空間,而單鏈表是非連續(xù)存放的,可以對內(nèi)存空間進行動態(tài)分配,此系統(tǒng)是用單鏈表完成的。然后定義鏈表的結(jié)點類型為結(jié)構(gòu)就可以實現(xiàn)對用戶賬號、姓名、余
8、額、身份證號碼、單位、電話號碼、地址保存。每次只 要返回頭指針,就可以對整個鏈表進行操作,因此選鏈表來存放學(xué)生信息。所有記錄在操作開始的時候讀入文件中的存有的數(shù)據(jù)(由函數(shù)out_to_file寫入,轉(zhuǎn)移到類users的對象中,再記錄到鏈表中),在結(jié)束的時候再把記錄存回(步驟與讀入記錄時相反)二進制文件中。3詳細設(shè)計3.1概念設(shè)計階段主要任務(wù)設(shè)計一個銀行賬戶管理程序,賬戶的信息有賬號(唯一)、姓名、余額、身份證號碼、單位、電話號碼、地址等,允許用戶進行如下操作:開戶、銷戶、存款、取款、轉(zhuǎn)賬、查詢,一個用戶可以有多個戶頭,賬戶的數(shù)值沒有上限?;疽螅撼绦蜻\行時,可以由用戶選擇進行何種操作,開戶操
9、作要求輸入用戶信息后自動獲取賬號,用戶銷戶后賬號被回收,并且該賬號可以繼續(xù)分配給其它賬戶,不允許用戶透支,根據(jù)姓名或賬號可以進行用戶的信息查詢,所有的賬戶信息應(yīng)存放到一個文件中,可以隨時的訪問和更新。3.2 系統(tǒng)設(shè)計框架銀行管理員用 戶銀行賬戶管理系統(tǒng)銷戶開戶存款取款轉(zhuǎn)賬查詢圖1.1 銀行管理系統(tǒng)結(jié)構(gòu)示意圖3.3類的定義class userspublic:users(ifstream &file_in);/構(gòu)造函數(shù),同時從文件讀取賬戶數(shù)據(jù)users()/重載構(gòu)造函數(shù),使之用于開戶balance=0;next=NULL;void new_user();/新建賬戶信息void put_id(int
10、 id_new);/獲取賬號char *get_id();/返回賬號char *get_password();/返回密碼char *get_name();/返回賬戶名char *get_id_card();/返回身份證號char *get_phone();/返回手機號long get_balance();/返回余額void take_money();/取款void saving();/存款void saving(long money);/轉(zhuǎn)入賬long virement();/轉(zhuǎn)出賬void out_to_file(ofstream &file_out);/寫入文件void out_to_sc
11、reen();/輸出到屏幕void put_next(users *n);/得到指針users *back_next();/返回指針private:char id5;/賬號char password6;/密碼char name9;/賬戶名char id_card18;/身份證號碼string company;/單位char phone11;/手機string address;/住址long balance;/余額users *next;/指向下一個賬戶;3.3 其他重要函數(shù)/清空該行void new_line()char symbol;docin.get(symbol);while(symbo
12、l!=n);/數(shù)字轉(zhuǎn)換到字符串void int2str(int n,char *str)char buf10=;int i=0;int len=0;int temp=n0?-n:n;/temp為n的絕對值if(str=NULL)return;while(temp)bufi+=(temp%10)+0;/把temp的每一位上的數(shù)存入buftemp=temp/10;len=n0?+i:i;/如果n是負數(shù),則多需要一位來存儲負號stri=0;/末尾是結(jié)束符023while(1)i-;if(buflen-i-1=0)break;stri=buflen-n-1;/把buf數(shù)組里的字符拷到字符串if(i=0
13、)stri=-;/如果是負數(shù),添加一個負號/該用于管理開啟程序的賬號和密碼void safe_conduct()int input_num=0;char un11,pw11;cout請先登錄:(用戶名為:9021315 密碼為:0000)endl;bool blag;/標(biāo)志錯誤doblag=0;coutun;coutpw;if(strcmp(un,9021315)!=0)blag=0;cout用戶名輸入錯誤!endl;if(!blag)if(strcmp(pw,0000)!=0)blag=1;cout用戶密碼輸入錯誤!endl;if(blag)input_num+;switch(input_n
14、um)case 1:cout您還可以輸入兩次!endl;break;case 2:cout您還可以輸入一次!endl;break;case 3:cout您沒有權(quán)限繼續(xù)輸入,程序?qū)⒁P(guān)閉!endl;exit(0);while(blag);4 測試結(jié)果及運行效果4.1 運行結(jié)果截圖4.2 讀取文件截圖5 系統(tǒng)開發(fā)所用到的技術(shù)操作系統(tǒng): Windows 7開發(fā)軟件: Visual C+ 6.0技術(shù):功能模塊(函數(shù));指針;結(jié)構(gòu);鏈表;文件保存及讀取。模塊與函數(shù):功能模塊:求解較小問題的算法與程序稱作“功能模塊”,各功能模塊可以先單獨設(shè)計,然后將求解所有的子問題的模塊組合成求解原問題的程序。將一個大問
15、題分解成多個解決小問題的模塊的設(shè)計思想。由功能模塊組成程序的結(jié)構(gòu):主控模塊和模塊組成。模塊還可細分。自頂向下,逐步分解的設(shè)計思想函數(shù):完成相對獨立功能和程序。模塊獨立:功能獨立的子功能模塊之間的關(guān)系簡單,使用獨立變量,模塊規(guī)模適當(dāng):分解模塊要注意層次:(1)對問題抽象化(2)設(shè)計時細化指針就是指向變量和對象的地址。 指針的用途非常廣泛,比如如果你想通過函數(shù)改變一個變量的值,就得用指針而不能用值傳遞。還有在很多時候變量,特別是對象的數(shù)據(jù)量實在太大,程序員就會用指針來做形參,只需要傳遞一個地址就行,大大提高了效率。指針就是指向變量和對象的地址。指針的用途非常廣泛,比如如果你想通過函數(shù)改變一個變量的
16、值,就得用指針而不能用值傳遞。還有在很多時候變量,特別是對象的數(shù)據(jù)量實在太大,程序員就會用指針來做形參,只需要傳遞一個地址就行,大大提高了效率。c語言之所以強大,以及其自由性,很大部分體現(xiàn)在其靈活的指針運用上。因此,說指針是c語言的靈魂,一點都不為過。鏈表是一種物理存儲單元上非連續(xù)、非順序的存儲結(jié)構(gòu),數(shù)據(jù)元素的邏輯順序是通過鏈表中的指針鏈接次序?qū)崿F(xiàn)的。鏈表由一系列結(jié)點(鏈表中每一個元素稱為結(jié)點)組成,結(jié)點可以在運行時動態(tài)生成。每個結(jié)點包括兩個部分:一個是存儲數(shù)據(jù)元素的數(shù)據(jù)域,另一個是存儲下一個結(jié)點地址的指針域。 相比于線性表順序結(jié)構(gòu),鏈表比較方便插入和刪除操作。附錄 代碼部分#include#
17、include#include#include#include#include#includeusing namespace std;/清空改行void new_line()char symbol;docin.get(symbol);while(symbol!=n);/數(shù)字轉(zhuǎn)換到字符串void int2str(int n,char *str)char buf10=;int i=0;int len=0;int temp=n0?-n:n;/temp為n的絕對值if(str=NULL)return;while(temp)bufi+=(temp%10)+0;/把temp的每一位上的數(shù)存入buftemp
18、=temp/10;len=n0?+i:i;/如果n是負數(shù),則多需要一位來存儲負號stri=0;/末尾是結(jié)束符023while(1)i-;if(buflen-i-1=0)break;stri=buflen-n-1;/把buf數(shù)組里的字符拷到字符串if(i=0)stri=-;/如果是負數(shù),添加一個負號/該用于管理開啟程序的賬號和密碼void safe_conduct()int input_num=0;char un11,pw11;cout請先登錄:(用戶名為:19921005 密碼為:0000)endl;bool blag;/標(biāo)志錯誤doblag=0;coutun;coutpw;if(strcmp
19、(un,19921005)!=0)blag=0;cout用戶名輸入錯誤!endl;if(!blag)if(strcmp(pw,0000)!=0)blag=1;cout用戶密碼輸入錯誤!endl;if(blag)input_num+;switch(input_num)case 1:cout您還可以輸入兩次!endl;break;case 2:cout您還可以輸入一次!endl;break;case 3:cout您沒有權(quán)限繼續(xù)輸入,程序?qū)⒁P(guān)閉!idpasswordnameid_cardcompanyphoneaddressbalance;next=NULL;void users:new_user
20、()char new_pw7,ok_new_pw7;coutname;bool blag;doblag=0;coutnew_pw;for(char *i=new_pw;*i!=0;i+)if(*i=)blag=1;cout密碼不符合規(guī)范!請重新輸入!endl;break;coutok_new_pw;if(strcmp(new_pw,ok_new_pw)!=0)blag=1;cout密碼不同!endl;else blag=0;while(blag);strcpy(password,new_pw);coutid_card;coutcompany;coutphone;coutaddress;cout
21、endl;cout您申請的賬戶信息為:賬號:id 賬戶名:name 身份證號碼:id_card 單位:company 手機號碼:phone 地址:address 賬戶余額:balanceendlendl=0;i-)/數(shù)字轉(zhuǎn)換成字符串num=id_new%10;new_idi=num+0;id_new/=10;new_id4=0;strcpy(id,new_id);char *users:get_id()return id;char *users:get_password()return password;char *users:get_name()return name;char *users
22、:get_id_card()return id_card;char *users:get_phone()return phone;long users:get_balance()return balance;void users:take_money()if(balance=0)cout您的余額已經(jīng)為空!無法取款!n存款后可以再??!endl;return;long m;bool blag;doblag=0;coutm;if(m=balance)blag=1;cout您輸入的金額大于余額,無法取出!請重新輸入!endl;while(blag);balance=balance-m;void use
23、rs:saving()long m;bool blag;doblag=0;coutm;if(m0)coutm;blag=1;while(blag);balance=balance+m;void users:saving(long money)balance=balance+money;long users:virement()long money;bool blag;doblag=0;coutmoney;if(money=balance)cout余額不足!請重新輸入!endl;blag=1;while(blag);balance=balance-money;return money;void
24、users:out_to_file(ofstream &file_out)file_outid password name id_card company phone address balance;void users:out_to_screen()cout.setf(ios:left);coutsetw(6)賬號:idsetw(9) 用戶名:namesetw(10) 身份證號:id_cardsetw(13) 公司:companysetw(12) 手機號碼:phonesetw(13) 地址:addresssetw(9) 余額:balanceendl;cout.setf(ios:right);
25、void users:put_next(users *n)next=n;users *users:back_next()return next;/查詢:選擇查詢條件:1-賬戶名;2-賬號;3-身份證號;users *u_search(users *head,int choice,bool b=1)users *p;bool blag=1;switch(choice)case 0:break;case 1:char name9;coutname;for(p=head;p!=NULL;p=p-back_next()if(strcmp(p-get_name(),name)=0)p-out_to_sc
26、reen();blag=0;break;case 2:char id5,password6;coutid;coutpassword;for(p=head;p!=NULL;p=p-back_next()if(strcmp(p-get_id(),id)=0&strcmp(p-get_password(),password)=0)if(b)/*?p-out_to_screen();blag=0;else return p;break;case 3:char id_card19;coutid_card;for(p=head;p!=NULL;p=p-back_next()if(strcmp(p-get_
27、id_card(),id_card)=0)p-out_to_screen();blag=0;break;default:cout選項錯誤!endl;return NULL;if(blag)cout沒有該賬戶!endl;return NULL;int n_id(users *head)int id;int now_id=0,num;users *p;char ne_id5;bool blag;for(id=0;id=0;i-)/數(shù)字轉(zhuǎn)換成字符串num=now_id%10;ne_idi=num+0;now_id/=10;ne_id4=0;/遍歷,找到鏈表中不存在的賬號for(p=head;p!=N
28、ULL;p=p-back_next()if(strcmp(p-get_id(),ne_id)=0)blag=0;break;if(blag)return id;void zi_title()cout_endlendl;cout 1-開戶 2-銷戶 3-存款 4-取款 5-轉(zhuǎn)賬 6-查詢 0-退出endlendl;cout_put_next(next);later=next;elsehead=NULL;f_in.close();int choice;dozi_title();cinchoice;bool blag=0;switch(choice)case 1:coutput_id(n_id(head);user-new_user();if(head=NULL)head=user;elselater-put_next(user);later=user;break;case 2:cout-銷戶-n;if(head=0)cout還沒有賬戶!建議開戶!endl;break;char id_5,pas
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)間借款合同范本
- 套房出租房合同范本
- 寧夏農(nóng)村土地承包經(jīng)營權(quán)出租合同
- 為房東規(guī)避風(fēng)險的房屋租賃合同
- 海底兩萬里看書心得體會
- 續(xù)訂勞動合同協(xié)議書范本
- 工程招標(biāo)與合同管理重點
- 家具廠承包合同書
- 二零二五年專業(yè)運輸包車服務(wù)協(xié)議2篇
- 北京語言大學(xué)《工具書介紹與使用》2023-2024學(xué)年第一學(xué)期期末試卷
- GB/T 41693-2022高關(guān)注化學(xué)物質(zhì)評估判定導(dǎo)則
- GB/T 14181-2010測定煙煤粘結(jié)指數(shù)專用無煙煤技術(shù)條件
- 委托居間合同通用版
- 自來水管道工程施工組織設(shè)計(完整常用版)
- 物流公司安全生產(chǎn)責(zé)任制度
- 四年級上冊道法知識點匯總
- 鷸蚌相爭 完整版課件
- 鋼結(jié)構(gòu)安裝旁站監(jiān)理記錄表(參考表)多篇
- 大氣污染物綜合排放準(zhǔn)(2022年-2023年)
- 國家開放大學(xué)電大本科《古代小說戲曲專題》2023-2024期末試題及答案(試卷代號:1340)
- 2019年最新部編版四年級語文上冊第七單元達標(biāo)檢測卷含答案(新版)
評論
0/150
提交評論