




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、目錄a:設計目的31.1了解分析方法3b:需求分析31.程序需求及思想32.程序執(zhí)行命令操作3c:概要設計3-51.程序設計流程圖42.程序結構設計說明5d:詳細設計5-12e:程序運行結果.13-16f:設計心得.16-17g:參考文獻.17 15a、設計目的: 1.了解并掌握數據結構與算法的設計方法,具備初步的獨立分析和設計能力; 2.充分了解和學習數據結構的系統(tǒng)設計和程序編碼,對問題的探究與分析,進行更多的應用與測試。3.學習設計實現活期儲蓄賬目管理,并令其方便、簡單、快捷的實現其各個部分的功能。4通過這次實驗使自己的設計水平有所提高,對數據結構的整體認知程度有所加強,鍛煉自己思考和設計
2、能力。b、需求分析:1.需要先建立結本程序點類模板,然后使用鏈表的基本操作應用實現各個程序的實現,頭插法先建立鏈表使之成當前操作數據基礎,然后可以使用節(jié)點的刪除進行儲戶的銷戶,結點的插入的應用成為程序的開戶(注意:建立新的用戶要先確認新建的用戶號不可以與之前的用戶號碼相同, 引起系統(tǒng)錯誤!本程序應用鏈表節(jié)點的比較改進程序。)。儲戶的存取也是應用節(jié)點的比較查找之后進行的賬戶錢數加減。2.程序的執(zhí)行命令操作 (1).建立節(jié)電類模板,構建鏈表.(2).輸入儲戶信息.(3).執(zhí)行各項操作(數據測試)1.查詢儲戶信息. 2開戶.3儲戶支取信息查詢.4.儲戶的程序銷戶. 5.程序完成. (4).程序退出.
3、 c、概要設計:c.1:程序流程圖程序開始輸入客戶信息程序菜單:1,3(查詢)2-(開戶)4-(銷戶)5-(退出)case2:系統(tǒng)開戶(插入新的節(jié)點)作為新的戶頭(不可重復)case1,3:系統(tǒng)查找(賬戶對比)存取消費操作case4:(用戶銷戶)刪除當前節(jié)點出去信息1查找成功0出1開戶成功0出1刪除成功0出程序員結束程序(系統(tǒng)退出)程序結束(退出) *程序設計流程圖*c.2:結構設計說明1.本程序主要應用數據結構節(jié)點類模板,首先構建節(jié)點類模板,在建立已有儲戶數據中對頭結點(*head)分配動態(tài)存儲空間,對頭結點的鄰接點(head->next)賦初值,循環(huán)插入新結點建立儲戶數據(頭插法)。
4、在賬號循環(huán)插入中進行賬號重復判斷。2.在查找賬戶的過程中,應用結點下移繼續(xù)查找,實現賬戶正確查找應用。3.在銷戶過程中,進行結點刪除,從而實現儲戶的銷戶。4.在開戶過程中,定義新結點,分配新的存儲空間,進行結點插入,在賬號循環(huán)插入中進行賬號重復判斷,完成開戶過程。5.在存取記錄過程中,應用結點下移進行循環(huán)查找賬戶信息,顯示賬戶信息。6.主函數測試。d、詳細設計:/活期儲蓄帳目管理 #include<iostream>#include<string>using namespace std;template<class t>/構建節(jié)點類模板class nodep
5、ublic: node<t> *next;/ t 可省指針string name; t data;long int number; ;template<class t> class savinglistpublic: savinglist();node<t> * creatsavinglist();void searchaccount(long int x);node<t> * deleteaccount(long int x);node<t> * insertaccount(long int x); void record(long
6、 int x,int y); private:node<t> *head; ; template<class t> /建立已有儲戶數據 node<t> * savinglist<t>:creatsavinglist() head=new node<t>/初值 int k=1;/分配動態(tài)空間node<t> *p,*q;head->next=null;/ 賦初值long int number,number;int data; string name; cout<<"請輸入賬戶號(八位整數): &qu
7、ot; cin>>number;number=number;cout<<"請輸入姓名: " cin>>name; cout<<"請輸入賬戶余額: "cin>>data;while(number/1e7>=1 && number/1e7<=10) p=new node<t>q=new node<t>p->number=number;/節(jié)點初值p->name=name;p->data=data;p->next=head-&g
8、t;next;/將p插入連中head->next=p;cout<<"是否繼續(xù)輸入信息 按1繼續(xù)輸入 按0退出"<<endl;cin>>k;if(k=0)break;cout<<"請輸入賬戶號(八位整數): " cin>>number;q=head->next;while(q)/賬號的重復判斷if(q->number=number)cout<<"賬號已存在 !"<<endl;break;elseq=q->next;if(!q)co
9、ut<<"請輸入姓名: "cin>>name;cout<<"請輸入賬戶余額: " cin>>data;return head;template<class t> /查找賬戶 void savinglist<t>:searchaccount(long int x) if(x/1e7<1|x/1e7>10) cout<<"您輸入的賬戶不存在"<<endl; return ; node<long> *p; p=head;
10、while(p!=null && p->number!=x) p=p->next;/向下移位 繼續(xù)查找 if(p=null) cout<<"您輸入的賬戶未找到"<<endl; else cout<<"賬戶名: "<<p->name<<endl;cout<<"賬戶號碼: "<<p->number<<endl;cout<<"賬戶余額: "<<p->data
11、<<"元"<<endl; template<class t> /銷戶node<t> * savinglist<t>:deleteaccount(long int x) node<t> *p,*q;/節(jié)點類型 p=head; while(p!=null&&p->number!=x) q=p;p=p->next;if(p=null) cout<<"您輸入的賬戶已不存在"<<endl; else q->next=p->next
12、;/將q刪掉 return head; template<class t> /開戶 node<t> * savinglist<t>:insertaccount(long int x) node<t> *p,*q;q=new node<t> char w10;/名字 int i; p=head;q->number=x; q->next=p->next; p->next=q;/插入 q(新的賬號)cout<<"請輸入姓名: " cin>>w;cout<<&qu
13、ot;請輸入余額: " cin>>i;q->name=w; q->data=i; cout<<"您的新賬戶的信息是:"<<endl; cout<<"賬戶名: "<<q->name<<endl;cout<<"賬戶號碼: "<<q->number<<endl; cout<<"賬戶余額: "<<q->data<<"元"&
14、lt;<endl;return head; template<class t> /存取款記錄 void savinglist<t>:record(long int x,int y) node<t> *p;p=head;while(p!=null && p->number!=x) /循環(huán)查找p的相同正確值 節(jié)點下移p=p->next; if(p=null) cout<<"您輸入的賬戶不存在"<<endl; else p->data=p->data+y;if(p->d
15、ata<0)cout<<"余額不足 請充值!"<<endl;elsecout<<"目前您的賬戶信息:"<<endl;cout<<"賬戶名(八位): "<<p->name<<endl; cout<<"賬戶號碼: "<<p->number<<endl; cout<<"賬戶余額: "<<p->data<<"元&qu
16、ot;<<endl; int menu()int n; cout<<"-menu-"<<endl; cout<<"t1.查詢賬戶 2.開戶nn"<<endl; cout<<"t3.支出存儲記錄 4.銷戶nn"<<endl;cout<<"t5.退出"<<endl;cout<<"-"cout<<endl;do cout<<"請輸入你的選擇(1-5)
17、:n"<<endl;cin>>n; while(n<1|n>5);return n; int main()savinglist<long> t; node<long> *head;head=t.creatsavinglist(); long int x; int y,n;for(;) switch (menu() case 1:cout<<"請輸入您要查詢的賬戶:"cin>>x; t.searchaccount(x); cout<<" 是否需要繼續(xù)進行操作?是
18、請輸入1,放棄則輸入0: "cin>>y;if(y=1) cout<<"-nnn"cout<<"t1.支出存入 2.銷戶nn"cout<<"-nnn" do cout<<"請輸入你選擇的操作 : "cin>>n;while(n!=1 && n!=2); if(n=1) cout<<"請輸入你存取的錢數: " ; cout<<"存入錢數在前加“ + ”, 取出錢數在前
19、加“ - ”"<<endl;int a;cin>>a; t.record(x,a); if(n=2) cout<<"銷戶請輸入 1, 不進行操作輸入 0 !: " int b;cin>>b; if(b=1)t.deleteaccount(x); break;case 2:long int c; node<long> *q;q=head->next;cout<<"請輸入您的賬號(八位): "cin>>c;while(q)if(q->number=c)c
20、out<<"賬號已存在 !"<<endl;break;elseq=q->next;if(!q)while(c/1e7 <1|c/ 1e7>10) cout<<"輸入的位數不正確: " cin>>c; t.insertaccount(c);break; case 3:long int r;int t,l; cout<<"請輸入執(zhí)行操作的賬號: " cin>>r;cout<<"請輸入你存取的錢數: " ; /cout&
21、lt;<"存入錢數在前加“ + ”, 取出錢數在前加“ - ”"<<endl;cin>>t;t.record(r,t); cout<<"繼續(xù)操作請輸入1 ,退出輸入0:"<<endl; cin>>l; while(l=1) cout<<"請輸入執(zhí)行操作的賬號: " cin>>r;cout<<"請輸入你存取的錢數: " ;cout<<"存入錢數在前加“ + ”, 取出錢數在前加“ - ”&quo
22、t;<<endl;cin>>t; t.record(r,t); cout<<"繼續(xù)操作請輸入1,退出輸入0"<<endl;cin>>l; break;case 4:long int k;int m;cout<<"請輸入你想要消掉的賬戶(請選擇以上已有的) : " cin>>k; while(k/1e7<1|k/1e7>9) cout<<"輸入的位數不正確: "cin>>k; t.deleteaccount(k); cout<<"繼續(xù)操作請輸入1,退出輸入0"<<endl; cin>>m; w
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 服務合同:自費出國留學中介服務委托合同6篇
- 2025年福建貨運從業(yè)資格證科目一模擬考試題庫
- 2025年唐山貨運從業(yè)資格證網上考試答案
- 2025年資陽貨運員初級考試題庫
- 建筑勞務施工合同
- 勞務外包安全管理協(xié)議
- 涂料助劑:流平劑產業(yè)分析報告
- 廠房施工標準合同范例
- 臺面加工承攬合同范本
- 債權收益權轉讓合同范本
- 《工程化學》全套教學課件
- DB11-T 950-2022水利工程施工資料管理規(guī)程
- 4.1比的意義 導學案 2022-2023學年六年級數學上冊-人教版(含答案)
- 美容手術的麻醉精品課件
- 蔬菜生產技術實踐教學大綱
- 施耐德APC1-20K不間斷電源內部培訓(ppt可編輯修改)課件
- 看圖寫話我是乖孩子
- 油管、套管等規(guī)格對照表
- IEST-RP-CC0053
- 模糊邏輯與模糊推理
- 玉米收割機的設計(機械CAD圖紙)
評論
0/150
提交評論