C++課程設(shè)計 銀行賬戶管理系統(tǒng)

上傳人:優(yōu)*** 文檔編號:46703410 上傳時間:2021-12-14 格式:DOC 頁數(shù):21 大?。?2KB
收藏 版權(quán)申訴 舉報 下載
C++課程設(shè)計 銀行賬戶管理系統(tǒng)_第1頁
第1頁 / 共21頁
C++課程設(shè)計 銀行賬戶管理系統(tǒng)_第2頁
第2頁 / 共21頁
C++課程設(shè)計 銀行賬戶管理系統(tǒng)_第3頁
第3頁 / 共21頁

下載文檔到電腦,查找使用更方便

20 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《C++課程設(shè)計 銀行賬戶管理系統(tǒng)》由會員分享,可在線閱讀,更多相關(guān)《C++課程設(shè)計 銀行賬戶管理系統(tǒng)(21頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、真誠為您提供優(yōu)質(zhì)參考資料,若有不當(dāng)之處,請指正。 青島理工大學(xué) C++面向?qū)ο笳n程設(shè)計報告 院(系): 計算機(jī)工程學(xué)院 專業(yè): 軟件工程 學(xué)生姓名: _ 華逸帆 班級:_軟件121班_ 學(xué)號: 201207185 題目: __銀行賬戶管理系統(tǒng) 起迄日期: _2014.6.23~2013.7.5 設(shè)計地點(diǎn): 計算機(jī)學(xué)院機(jī)房 指 導(dǎo) 教 師:

2、 李蘭 完成日期: 2014 年7月 5 日 目錄 1.概要設(shè)計…………………………………………………….1 1.1設(shè)計思想……………………………………………….1 1.2設(shè)計方法……………………………………………….1 1.3系統(tǒng)中主要模塊和其他模塊間的關(guān)系描述………....1 2.需求分析……………………………………………………..2 3.總體設(shè)計……………………………………………………..2 4.模塊設(shè)計……………………………………………………..3 4.1開戶功

3、能模塊………………………………………….3 4.1.1功能模塊分析……………………………...……..3 4.1.2代碼設(shè)計及分析………………………………….4 4.1.3運(yùn)行結(jié)果………………………………………….5 4.2銷戶功能模塊………………………………………….5 4.2.2功能模塊分析……………………………………5 4.2.3代碼設(shè)計及分析…………………………………5 4.2.3運(yùn)行結(jié)果………………………………………….7 5.系統(tǒng)使用說明……………………………………………….7 6.附錄………………………………………………………….7

4、 6.1設(shè)計體會……………………………………………….7 6.2源程序………………………………………………….8 1. 概要設(shè)計 1.1設(shè)計思想 銀行賬戶管理系統(tǒng),通過設(shè)計一個控制臺應(yīng)用程序來實(shí)現(xiàn)工作人員遍歷管理所有銀行用戶的銀行賬戶功能。通過C++面向?qū)ο蟮某绦蛟O(shè)計語言,利用面向?qū)ο蟮脑O(shè)計思想,將程序運(yùn)用面向?qū)ο蟮姆椒ㄖ饓K劃分,對每個對象的性質(zhì)進(jìn)行分析設(shè)計。 1.2實(shí)現(xiàn)方法 總體設(shè)計方法,是構(gòu)建一個鏈表,來存儲用戶的資料,數(shù)據(jù)存儲方面,用存儲文件技術(shù)代替存儲數(shù)據(jù)庫技術(shù)。構(gòu)建一個銀行賬戶類,封裝鏈表的頭結(jié)點(diǎn),創(chuàng)建用戶銀行賬戶各個屬性的函數(shù)及其變量。構(gòu)建一個

5、程序操作類,用于封裝實(shí)現(xiàn)打印操作菜單,實(shí)現(xiàn)主程序的操作選擇等方法。 1.3系統(tǒng)中主要模塊及各模塊間的關(guān)系的描述 系統(tǒng)中的主要模塊: 結(jié)構(gòu)體節(jié)點(diǎn):用于存放用戶所用的賬戶信息(姓名,單位,電話,賬戶號,余額,地址,是否為聯(lián)名賬戶等) 銀行賬戶類:用于封裝鏈表的頭結(jié)點(diǎn),記錄刪除所回收的賬戶號,和刪除回收的賬戶數(shù)目;構(gòu)造函數(shù)在創(chuàng)建對象時,完成從文件中讀出用戶賬戶所有信息的操作,析構(gòu)函數(shù)在對象即將消亡時,完成將整個鏈表中的所有信息逐個節(jié)點(diǎn)的存入文件中的操作。 程序操作類:用于實(shí)現(xiàn)程序中,菜單打印操作,菜單選擇等操作。 其他各個模塊: 節(jié)點(diǎn)構(gòu)建函數(shù)構(gòu)(開戶函數(shù)):鏈表構(gòu)建函數(shù)為銀行賬

6、戶類的私有函數(shù)成員,銀行賬戶類的大三功能函數(shù)之一,即是鏈表構(gòu)建的方法,也是用戶開戶的方法,當(dāng)構(gòu)造函數(shù)運(yùn)行時從文件中讀入數(shù)據(jù)存入鏈表時調(diào)用,在用戶選擇開戶操作時調(diào)用,實(shí)現(xiàn)添加一個節(jié)點(diǎn)的功能,進(jìn)而實(shí)現(xiàn)鏈表一個節(jié)點(diǎn)逐個構(gòu)造的功能。 節(jié)點(diǎn)刪除函數(shù)(銷戶函數(shù)):節(jié)點(diǎn)刪除函數(shù)為銀行賬戶類的私有成員,銀行賬戶類的三大功能函數(shù)之一,即是鏈表刪除的方法,也是用戶銷戶的方法,當(dāng)用戶選擇銷戶操作時,調(diào)用節(jié)點(diǎn)刪除函數(shù),刪除并釋放節(jié)點(diǎn)。 資金操作函數(shù)(存款,取款,轉(zhuǎn)賬函數(shù)):資金操作函數(shù)為銀行賬戶類的私有成員,銀行賬戶的三大功能函數(shù)之一,是用戶所有對資金操作的方法的集合。在用戶選擇任何一種資金操作時調(diào)用資金操作函數(shù)

7、,完成對用戶賬戶資金的操作,同時對節(jié)點(diǎn)中相對應(yīng)的變量進(jìn)行修改,并且返回操作結(jié)果。 操作選擇函數(shù):選擇操作函數(shù)為銀行類的公有成員,根據(jù)打印菜單函數(shù),用戶輸入任意一個選項選擇操作,相對應(yīng)的銀行賬戶的操作。并且判斷用戶是否按照規(guī)定輸入,將用戶輸入的選擇傳入操作函數(shù)。 操作函數(shù):操作函數(shù)為銀行操作類的私有成員,根據(jù)傳來的參數(shù)選擇是否調(diào)用,三大功能函數(shù),并且返回操作結(jié)果。 其他功能函數(shù):基本均為銀行賬戶類的私有成員函數(shù),節(jié)點(diǎn)信息輸入函數(shù):實(shí)現(xiàn)節(jié)點(diǎn)信息逐個輸入,和賬號生成的功能,主要是在開戶函數(shù)中調(diào)用。節(jié)點(diǎn)遍歷函數(shù):根據(jù)傳入的字符串,遍歷查鏈表,返回符合規(guī)定的節(jié)點(diǎn)指針。文件讀寫操作函數(shù)():實(shí)現(xiàn)節(jié)點(diǎn)

8、信息文件中的讀寫功能,同時實(shí)現(xiàn)類中私有變量鏈表長度,回收賬號,回收賬號數(shù)目的讀寫操作,主要實(shí)在對象的構(gòu)造函數(shù)和析構(gòu)函數(shù)中調(diào)用。 2. 需求分析 銀行賬戶管理系統(tǒng),是由銀行工作人員對銀行用戶的賬戶進(jìn)行操作管理的系統(tǒng)。是一款使用者為銀行工作人員,但服務(wù)對象是銀行用戶的管理系統(tǒng)。不考慮銀行工作人員賬號注冊用戶名密碼的情況下,只需要對銀行用戶賬戶的信息進(jìn)行操作和管理就能完成要求。 銀行用戶賬戶的屬性中含有,用戶的用戶真實(shí)姓名,身份證號碼,公司,地址,電話號碼,賬戶號碼,賬戶余額等屬性。除賬戶余額外,其余變量類型均應(yīng)該為string類型,賬戶余額的類型應(yīng)該為,double類型。身份證號碼,長度

9、應(yīng)為18位,電話號碼的長度應(yīng)為11位。賬戶余額不能超值,最小值為零。賬戶號碼應(yīng)由系統(tǒng)自動生成,一個用戶名額下可以有多個賬戶,每個賬戶由賬戶號來區(qū)別開來。另外應(yīng)該設(shè)立一種聯(lián)名賬戶,這種賬戶有兩個人共同管理,及一個賬戶由兩個用戶名,有兩個身份證號碼。 此外,系統(tǒng)中的每個變量的輸入都應(yīng)該有判斷正誤的判斷,對錯誤無效的變量輸入應(yīng)該反饋結(jié)構(gòu)不接受。 系統(tǒng)中所有的用戶信息應(yīng)該在程序開始時從文件中讀出,再程序結(jié)束時寫入文件,這樣實(shí)現(xiàn)用戶信息的存儲代替存入數(shù)據(jù)庫的方法。 3. 總體設(shè)計 管理系統(tǒng)總體結(jié)構(gòu)由構(gòu)建的鏈表存儲信息,程序結(jié)束后所有的用戶信息都存入文件中,程序開始時再從文件中讀取相關(guān)的信息。

10、聲明一個結(jié)構(gòu)體變量Node,包含string類型的變量:用戶名,身份證號碼,電話號碼,公司,地址,賬戶號,聯(lián)名用戶用戶名,聯(lián)名用戶身份證號碼,double類型的變量余額,Node*類型的變量next。 定義一個Link類,封裝鏈表的頭指針Node *head,鏈表的長度length,回收的賬號lack【】,回收的賬號數(shù)目number。構(gòu)造函數(shù),在建立對象時構(gòu)建鏈表,通過存入鏈表的length值判斷鏈表的長度及已存在的銀行賬戶個數(shù),從而調(diào)用構(gòu)造鏈表的add()函數(shù),在add()函數(shù)中調(diào)用file_read()函數(shù)讀出存在文件中銀行賬戶的信息。程序開始打印出菜單供用戶選擇。開戶,對應(yīng)add()函

11、數(shù),add函數(shù)調(diào)用out_node()函數(shù),根據(jù)提示輸入用戶銀行賬戶所有信息,并根據(jù)length長度和用戶的身份證號碼后12位生成賬戶賬號。銷戶操作,對應(yīng)delcte()函數(shù),根據(jù)傳遞的參數(shù)用戶賬號字符串,查找對應(yīng)的銀行賬戶,然后對節(jié)點(diǎn)進(jìn)行刪除釋放。存款,取款,轉(zhuǎn)賬操作對應(yīng)money()函數(shù),根據(jù)傳遞的參數(shù),用戶的賬戶號碼,及選擇的選項,執(zhí)行相對的操作,通過賬戶號碼找到相對應(yīng)的節(jié)點(diǎn),在對節(jié)點(diǎn)的money變量進(jìn)行簡單的加減操作。析構(gòu)函數(shù),在對象消亡時進(jìn)行調(diào)用,本程序也就是在程序即將結(jié)束時進(jìn)行調(diào)用,將鏈表中的每個節(jié)點(diǎn)所有信息,按照一定的順序存入指定的文件中,再將銀行類中的鏈表的長度length,回

12、收的賬號數(shù)組lack【】,回收的賬號數(shù)目按照一定的順序存入文件中。 4. 程序模塊設(shè)計 4.1開戶功能模塊: 4.1.1模塊功能分析: 開戶功能膜塊在面向用戶方面應(yīng)該實(shí)現(xiàn)應(yīng)該具有如下功能,銀行賬戶所有信息輸入的功能,提示用戶是否申請為聯(lián)名賬戶,并且防止用戶隨意輸入錯誤無效的信息。在面向系統(tǒng)結(jié)構(gòu)方面,應(yīng)該具有構(gòu)建鏈表節(jié)點(diǎn)功能,創(chuàng)建鏈表節(jié)點(diǎn),并且根據(jù)所處的位置加入鏈表,尾節(jié)點(diǎn)的next指針應(yīng)該指向NULL。最后返回操作結(jié)果,執(zhí)行成功返回true,失敗返回false。 4.1.2代碼的設(shè)計及分析: bool add(bool t,ifstream &input)//是否是從文件中讀出銀行

13、賬戶信息 { Node* pel,*tail; if(head==NULL) //構(gòu)建鏈表頭結(jié)點(diǎn) { head=new Node(); if(!t) //是否第一次使用系統(tǒng) { out_node(head,length); length++; } else //不是第一次使用系統(tǒng),從文件中讀取信息 read_file(head,input); head->next=NULL; return true; } else {

14、 pel=head; while(pel->next) //在鏈表的末端添加節(jié)點(diǎn) { pel=pel->next; } tail=new Node(); tail->next = NULL; if(!t) //是否第一次使用系統(tǒng) { out_node(tail,length); length++; } else //不是第一次使用系統(tǒng),從文件中讀取信息 read_file(tail,input); pel->next = tail;

15、 pel=tail; return true; } } 4.1.3運(yùn)行結(jié)果: 4.2銷戶模塊: 4.2.1模塊功能分析 模塊功能分析:銷戶函數(shù)模塊,面像用戶來說需要實(shí)現(xiàn)以下功能:用戶通過輸入一個銀行賬戶號碼,查找相對應(yīng)的銀行賬戶,如果銀行賬戶不存在,返回給用戶銀行賬戶不存在的信息,如果存在,提示用戶是否刪除,用戶確認(rèn)刪除,將對應(yīng)的銀行賬戶信息刪除,反饋給用戶刪除成功的信息。面對系統(tǒng)內(nèi)部來說,應(yīng)該實(shí)現(xiàn)以下功能:通過所輸入的string 類型變量查找符合要求的節(jié)點(diǎn),用戶確認(rèn)刪除,用delete函數(shù)釋放節(jié)點(diǎn)內(nèi)存,重新接好鏈表。此外應(yīng)

16、該防止用戶隨意輸入的無效和錯誤信息。最后返回操作結(jié)果,執(zhí)行成功返回true,失敗返回false。 4.2.2代碼的設(shè)計及分析: bool delect(string num) { Node* pel,*q; int c,i; if(head->num==num) //如果刪除的是頭結(jié)點(diǎn) { cout<<"請問您確定要銷戶嗎? 1.yes 2.no"<>c; if(c==1) { for(i=0;i<=50;i++) //

17、回收刪除的銀行賬號到一個數(shù)組里,并記錄數(shù)組中,值得個數(shù) { if(lack[i]!=NULL) { lack[i]=((int)head->num[0]-0); number++; break; } } pel=head; head=head->next; length--; delete(pel); return true; } else if(c==2)

18、return false; else cout<<"輸入有誤!請重新輸入!"<next!=NULL) { if(num==pel->next->num) //查找要刪除的節(jié)點(diǎn) { cout<<"請問您確定要銷戶嗎? 1.yes 2.no"<>c; if(c==1) { for(i=0;i<=50;i++)

19、 //回收刪除的銀行賬號到一個數(shù)組里,并記錄數(shù)組中,值得個數(shù) { if(lack[i]num[0]-0); number++; break; } } q = pel->next; pel->next = q->next; delete(q); length--; ret

20、urn true; } else if(c==2) //如果要銷戶 return false; else cout<<"輸入有誤!重新輸入!"<next; } if(pel->next==NULL) { cout<<"沒有找到所查找的賬戶"<

21、的來選擇功能操作,在退出系統(tǒng)時,一定要通過系統(tǒng)提供正確的結(jié)束進(jìn)程方式,才能自動的保存所有的操作。銀行賬戶的所有信息會在下次系統(tǒng)啟動時自動加載到系統(tǒng)中。 6.附錄 6.1設(shè)計體會: 通過此次C++程序設(shè)計,我切身的體會到了面向?qū)ο蟪绦蚝兔嫦蜻^程程序語言的區(qū)別,區(qū)別不僅僅存在于兩種程序語言中,也存在與編程思想中。面向?qū)ο蟮某绦蚓幊趟枷胫饕前研枨竽K化,根據(jù)每個模塊特定的屬性,需要實(shí)現(xiàn)的功能來編寫模塊,創(chuàng)建對象。紙上得來終覺淺,細(xì)節(jié)方便我也學(xué)習(xí)到了很,例如析構(gòu)函數(shù)的調(diào)用實(shí)在對象的生存周期結(jié)束時,而對象的生存周期也有很明確的規(guī)定,比如說一次循環(huán)中創(chuàng)建的對象,在這次循環(huán)結(jié)束時,這個對象的

22、生存周期就已經(jīng)結(jié)束了;早期的C++ 編譯器不支持string類型的數(shù)組,因?yàn)閿?shù)組的長度應(yīng)該是一定不便的,而string類型的數(shù)組違反了早期C++開發(fā)環(huán)境這一規(guī)定;對文件對象iftream作為參數(shù)傳給函數(shù)時,形參的形式只能為引用,因?yàn)槠鋵ο蟮目截悩?gòu)造函數(shù)默認(rèn)為私有變量。等等很多細(xì)節(jié)問題使我學(xué)到了很多,又熟練運(yùn)用了C++程序設(shè)計的技巧。本次設(shè)計我將銀行賬戶幾乎所有成員都封裝到了私有變量中,增強(qiáng)了程序的密封性。將保存于讀取數(shù)據(jù)悄無聲息的在構(gòu)造函數(shù)和析構(gòu)函數(shù)中完成了,降低了用戶的操作次數(shù)是本程序的亮點(diǎn)。 但本系統(tǒng)代碼還不夠精簡,有待改進(jìn)。 6.2源程序: // 銀行賬戶.cpp : Defi

23、nes the entry point for the console application. // #include "stdafx.h" #include #include #include #include #include #include using namespace std; struct Node //定義一個結(jié)構(gòu)體變量,包含所有銀行賬戶信息。 { double money; string num; s

24、tring name,name1; //字符串?dāng)?shù)組為聯(lián)名賬戶做準(zhǔn)備 string IDnum,IDnum1; string company; string phonenum; string address; Node *next; }; class Link //鏈表類 { private: Node *head; //封裝頭指針和鏈表長度 int length; int lack[50],number; //用于記錄回收的賬號,和回收的賬號數(shù)目 /**********節(jié)點(diǎn)信息輸入函數(shù)**************/

25、 void out_node(Node *dot,int i) { string num1; //用于生成賬號 char num2[10]; //用于生成賬號 int j=0; //循環(huán)變量j cout<<"請輸入相關(guān)數(shù)據(jù):"<>dot->company; while(true) //電話號碼長度判斷 { cout<<"請輸入電話號碼"<>dot->phonenum; if(dot->phonenum.length

26、()==11) break; else cout<<"輸入有誤!請重新輸入!"<>dot->address; dot->money = 0; //用戶的初始余額為零 cout<<"請輸入姓名1"<>dot->name; while(true) //身份號長度判斷 { cout<<"請輸入身份證號1"<>dot->IDnum; if(dot->IDnum.length()==18) break

27、; else cout<<"身份證號碼長度有誤,請重新輸入"<IDnum.substr(6,12); //用于生成賬號 if(number==0) //如果有回收的賬號,先用被回收的賬號 itoa(i,num2,10); else { while(true) { if(lack[j]>=0) { i=lack[j]; lack[j]=-1; number--; itoa(i,num2

28、,10); break; } j++; } } if(!question()) //是否設(shè)置為聯(lián)名賬戶 { cout<<"請輸入姓名2"<>dot->name1; while(true) //身份號長度判斷 { cout<<"請輸入身份證號2"<>dot->IDnum1; if(dot->IDnum.length()==18) break; else cout<<"身份證號碼長度有誤,請重新

29、輸入"<num = num2+ dot->IDnum1.substr(6,12) + num1; //生成賬戶號,聯(lián)名賬戶由兩個身份證號,后12為組成 } else { dot->num = num2 + num1 ;//生成賬戶號,一般賬戶由身份證號后12位加總賬戶數(shù)組成 } cout<<"您的銀行賬戶卡號為"<num<

30、/ void write_file() // 程序結(jié)束時 統(tǒng)一將所有信息寫入文件 { ofstream output("bank.txt"); Node *pel; for(pel=head;pel!=NULL;pel=pel->next) { output<num<<" "; output<IDnum<<" "; output<name<<" "; if(pel->IDnum1!=""||pel->name1!="") //如果是聯(lián)名賬戶 {

31、output<IDnum1<<" "; output<name1<<" "; } output<address<<" "; output<company<<" "; output<money<<" "; output<phonenum<

32、dot,ifstream &input) //程序開始時將所有信息讀入到文件中 { input>>dot->num; input>>dot->IDnum; input>>dot->name; if(dot->num.length()>20) //如果是聯(lián)名賬戶,聯(lián)名賬戶的賬號長度應(yīng)為24 { input>>dot->IDnum1; input>>dot->name1; } input>>dot->address; input>>dot->company; input>>dot->money;

33、 input>>dot->phonenum; } /******************************節(jié)點(diǎn)查詢函數(shù)**********************************/ Node* iterates(string num) //根據(jù)傳入的賬號查找賬戶 { Node* pel; pel=head; do { if(num==pel->num) { return pel; } pel=pel->next; }while(pel!=NULL);

34、return NULL; } /****************************************************************/ /************** 三大功能(開戶,銷戶,金額操作) ****************/ /****************************************************************/ /************************添加節(jié)點(diǎn)函數(shù)(開戶)******************************/ bool add(bool t,i

35、fstream &input)//是否是從文件中讀出銀行賬戶信息 { Node* pel,*tail; if(head==NULL) //構(gòu)建鏈表頭結(jié)點(diǎn) { head=new Node(); if(!t) //是否第一次使用系統(tǒng) { out_node(head,length); length++; } else //不是第一次使用系統(tǒng),從文件中讀取信息 read_file(head,input); head->next=NULL; return t

36、rue; } else { pel=head; while(pel->next) //在鏈表的末端添加節(jié)點(diǎn) { pel=pel->next; } tail=new Node(); tail->next = NULL; if(!t) //是否第一次使用系統(tǒng) { out_node(tail,length); length++; } else //不是第一次使用系統(tǒng),從文件中讀取信息 read_file(tail,input

37、); pel->next = tail; pel=tail; return true; } } /*************************節(jié)點(diǎn)刪除操作(銷戶)******************************/ bool delect(string num) { Node* pel,*q; int c,i; if(head->num==num) //如果刪除的是頭結(jié)點(diǎn) { cout<<"請問您確定要銷戶嗎? 1.yes 2.no"<

38、le(true) { cin>>c; if(c==1) { for(i=0;i<=50;i++) //回收刪除的銀行賬號到一個數(shù)組里,并記錄數(shù)組中,值得個數(shù) { if(lack[i]!=NULL) { lack[i]=((int)head->num[0]-0); number++; break; } } pel=head; head=head->next; len

39、gth--; delete(pel); return true; } else if(c==2) return false; else cout<<"輸入有誤!請重新輸入!"<next!=NULL) { if(num==pel->next->num) //查找要刪除的節(jié)點(diǎn) { cout<<"請問您確定要銷戶嗎? 1.yes 2.no"<

40、(true) { cin>>c; if(c==1) { for(i=0;i<=50;i++) //回收刪除的銀行賬號到一個數(shù)組里,并記錄數(shù)組中,值得個數(shù) { if(lack[i]num[0]-0); number++; break; } } q = pel->ne

41、xt; pel->next = q->next; delete(q); length--; return true; } else if(c==2) //如果要銷戶 return false; else cout<<"輸入有誤!重新輸入!"<next; } if(pel->next==NULL) { cout<<"沒有找到所查找的賬戶"<

42、turn false; } } /****************************存,取,轉(zhuǎn)賬函數(shù)**********************************/ bool money(string num,int choice,double optmoney=0) //要操作的賬戶,要選擇的操作變編號,操作的資金數(shù)目 { Node* pel; string num2; double money1; pel = iterates(num); //查找節(jié)點(diǎn) if(choice==5) //如果選擇

43、轉(zhuǎn)賬 { cout<<"請輸入轉(zhuǎn)賬金額"<>money1; if(money1>pel->money||money1<=0) cout<<"輸入有誤(超支,或無效)!請重新輸入!"<money-=money1; //轉(zhuǎn)出金額 cout<<"請輸入對方賬戶號碼"<>num2; money(num2,1,money1); retu

44、rn true; } else { switch(choice) { case 1: pel->money+=optmoney; return true; case 3: cout<<"請輸入存款金額"<>money1; if(money1<=0) cout<<"輸入無效!請重新輸入!"<

45、; } pel->money+=money1; return true; case 4: while(true) //輸入取款金額并操作 { cout<<"請輸入取款金額"<>money1; if(money1>pel->money||money1<=0) cout<<"輸入有誤(超支,或無效)!請重新輸入!"<

46、ak; } pel->money-=money1; return true; } } } } /****************************賬戶操作函數(shù)************************************/ bool operation(int choice) { Node* pel; ifstream input("bank.txt"); string num; switch(choice) { case 1

47、: if(add(false,input)) cout<<"開戶成功!"<>num; if(delect(num)) cout<<"銷戶成功!"<>num;

48、 if(money(num,3)) cout<<"存款成功"<>num; if(money(num,4)) cout<<"取款成功"<>num; if(money(num,5)) cout<<"轉(zhuǎn)賬成功"<

49、; return false; case 6: cout<<"請輸入賬戶號碼"<>num; pel=iterates(num); if(!pel) cout<<"您所查找的賬戶不存在"<money<

50、 return false; } } /*************************寫入鏈表長度函數(shù)**********************************/ void write_num() //從文件中寫入賬戶的數(shù)目 { ofstream output; int i=0; output.open("length.txt"); output<=0) output<

51、 if(lack[i]>=0) { output<>length; if(length<

52、0) length=0; input>>number; if(number<0) number=0; for(int i=0;i>lack[i]; input.close(); } /**************************是否設(shè)置為聯(lián)名賬戶********************************/ bool question() { int i; cout<<"是否設(shè)置為聯(lián)名賬戶 1.否 2.是"<

53、ue) { cin>>i; if(i==1) return true; else if(i==2) return false; else cout<<"輸入有誤!請重新輸入!"<

54、*****************************************/ public: Link() // 讀出文件中的賬戶數(shù)目,每個及賬戶信息 { int i; ifstream input("bank.txt"); read_length(); head=NULL; for(i=1;i<=length;i++) { add(true,input); } } ~Link() // 保存所有賬戶信息 { write_file(); write_num();

55、 cout<<"程序結(jié)束!"<>choose; if(choose<1||choose>8) cout<<"輸入有誤!重新輸入"<

56、oose)) return true; } }; void catalog() //目錄輸出函數(shù) { cout<<"請您輸入選擇"<

展開閱讀全文
溫馨提示:
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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!