活期儲蓄賬目管理課程設計_第1頁
活期儲蓄賬目管理課程設計_第2頁
活期儲蓄賬目管理課程設計_第3頁
活期儲蓄賬目管理課程設計_第4頁
活期儲蓄賬目管理課程設計_第5頁
已閱讀5頁,還剩5頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

《數據結構》課程設計報告設計題目活期儲蓄賬目管理學院名稱信息工程學院專業班級13計本1姓名潘彤彤學號1312210112題目:活期儲蓄賬目管理設計目標幫助學生熟練掌握線性表的根本操作,在線性表中實現查找、插入、刪除的功能。問題描述活期儲蓄中,儲戶開戶、銷戶、存入、支出頻繁,系統設計要求:1.能比擬迅速地找到儲戶的賬戶,以實現存款、取款記賬。2.能比擬簡單、迅速地實現插入和刪除,以實現開戶和銷戶的要求。需求分析創立單鏈表;向單鏈表中插入數據;查找單鏈表中的數據;刪除單鏈表中的內容;銷毀單鏈表,釋放內存空間;概要設計本程序用C++語言實現,完成銀行管理系統的生成,儲戶開戶、銷戶、存入、支出等功能。1.創立文件2.以數組形式存儲賬戶數據,開戶時自定義輸入用戶賬戶、用戶姓名、開戶金額3.用戶登錄時輸入正確的賬號及姓名,完成登陸后才可以實現存款、取款、查詢余額、銷戶等操作。六.測試分析開戶:查詢:存取款:存款直接輸入數值,取款在數值前加“+”存入支出銷戶:六.使用說明按鍵1:查詢賬戶按鍵2:開戶按鍵3:支出存儲記錄按鍵4:銷戶按鍵5:退出測試數據九:心得體會通過本次設計,我學會了鏈表節點的具體運用方法,熟悉節點類的作用,更加知道了在具體編程中數據結構這門課的具體運用,可以促使我在今后的學習中更加靈活使用我在數據結構中學到的知識進行編程。程序開始程序開始輸入儲戶信息程序菜單:1,3〔查詢〕2-〔開戶〕4-〔銷戶〕5-〔退出〕Case2:系統開戶〔插入新的節點〕作為新的戶頭〔不可重復〕Case1,3:系統查找〔賬戶比照〕存取消費操作Case4:〔用戶銷戶〕刪除當前節點出去信息1查找成功0出程序結束1刪除成功0出程序員結束程序〔系統退出〕程序結束附:程序代碼#include<iostream>#include<string>usingnamespacestd;template<classT>//構建節點類模板classNode{public: Node<T>*next;//T可省指針 stringname; Tdata; longintnumber;};template<classT>classSavingList{public: SavingList(){}; Node<T>*CreatSavingList(); voidSearchAccount(longintx); Node<T>*DeleteAccount(longintx); Node<T>*InsertAccount(longintx); voidRecord(longintx,inty);private: Node<T>*head;};template<classT>//建立已有儲戶數據Node<T>*SavingList<T>::CreatSavingList(){ head=newNode<T>;//初值 intk=1;//分配動態空間 Node<T>*p,*q; head->next=NULL;//賦初值 longintnumber,Number; intdata; stringname; cout<<"請輸入賬戶號〔八位整數〕:"; cin>>number; Number=number; cout<<"請輸入姓名:"; cin>>name; cout<<"請輸入賬戶余額:"; cin>>data; while(number/1e7>=1&&number/1e7<=10) { p=newNode<T>; q=newNode<T>; p->number=number;//節點初值 p->name=name; p->data=data; p->next=head->next;//將p插入連中 head->next=p; cout<<"是否繼續輸入信息按1繼續輸入按0退出"<<endl; cin>>k; if(k==0) break; cout<<"請輸入賬戶號〔八位整數〕:"; cin>>number; q=head->next; while(q)//賬號的重復判斷 { if(q->number==number) { cout<<"賬號已存在!"<<endl; break; } else q=q->next; } if(!q) { cout<<"請輸入姓名:"; cin>>name; cout<<"請輸入賬戶余額:"; cin>>data; } } returnhead;}template<classT>//查找賬戶voidSavingList<T>::SearchAccount(longintx){ if(x/1e7<1||x/1e7>10) { cout<<"您輸入的賬戶不存在"<<endl; return; } Node<long>*p; p=head; while(p!=NULL&&p->number!=x) { p=p->next;//向下移位繼續查找 } if(p==NULL) { cout<<"您輸入的賬戶未找到"<<endl; } else { cout<<"賬戶名:"<<p->name<<endl; cout<<"賬戶號碼:"<<p->number<<endl; cout<<"賬戶余額:"<<p->data<<"元"<<endl; }}template<classT>//銷戶Node<T>*SavingList<T>::DeleteAccount(longintx){ Node<T>*p,*q;//節點類型 p=head; while(p!=NULL&&p->number!=x) { q=p; p=p->next; } if(p==NULL) { cout<<"您輸入的賬戶已不存在"<<endl; } else { q->next=p->next;//將p刪掉 } returnhead;}template<classT>//開戶Node<T>*SavingList<T>::InsertAccount(longintx){ Node<T>*p,*q; q=newNode<T>; charw[10];//名字 inti; p=head; q->number=x; q->next=p->next; p->next=q;//插入q(新的賬號) cout<<"請輸入姓名:"; cin>>w; cout<<"請輸入余額:";cin>>i; q->name=w; q->data=i; cout<<"您的新賬戶的信息是:"<<endl; cout<<"賬戶名:"<<q->name<<endl; cout<<"賬戶號碼:"<<q->number<<endl; cout<<"賬戶余額:"<<q->data<<"元"<<endl; returnhead;}template<classT>//存取款記錄voidSavingList<T>::Record(longintx,inty){ Node<T>*p; p=head; while(p!=NULL&&p->number!=x)//循環查找P的相同正確值節點下移 { p=p->next; } if(p==NULL) cout<<"您輸入的賬戶不存在"<<endl; else { p->data=p->data+y; if(p->data<0) cout<<"余額缺乏請充值!"<<endl; else { cout<<"目前您的賬戶信息:"<<endl; cout<<"賬戶名〔八位〕:"<<p->name<<endl; cout<<"賬戶號碼:"<<p->number<<endl; cout<<"賬戶余額:"<<p->data<<"元"<<endl; } }}intMenu(){ intn; cout<<"--------------------------Menu---------------------------"<<endl; cout<<"\t1.查詢賬戶2.開戶\n\n"<<endl;cout<<"\t3.支出存儲記錄4.銷戶\n\n"<<endl; cout<<"\t5.退出"<<endl; cout<<"---------------------------------------------------------"; cout<<endl; do { cout<<"請輸入你的選擇(1--5):\n"<<endl; cin>>n; } while(n<1||n>5); returnn;}intmain(){ SavingList<long>T; Node<long>*head; head=T.CreatSavingList(); longintx; inty,n; for(;;) { switch(Menu()) { case1: { cout<<"請輸入您要查詢的賬戶:"; cin>>x; T.SearchAccount(x); cout<<"是否需要繼續進行操作?是請輸入1,放棄那么輸入0:"; cin>>y; if(y==1) { cout<<"-----------------------------------------------------\n\n\n"; cout<<"\t1.支出存入2.銷戶\n\n"; cout<<"-----------------------------------------------------\n\n\n"; do { cout<<"請輸入你選擇的操作:"; cin>>n; } while(n!=1&&n!=2); if(n==1) { cout<<"請輸入你存取的錢數:"; cout<<"存入錢數在前加,取出錢數在前加"<<endl; inta; cin>>a; T.Record(x,a); } if(n==2) { cout<<"銷戶請輸入1,不進行操作輸入0!:"; intb; cin>>b; if(b==1) T.DeleteAccount(x); } } } break; case2: { longintc; Node<long>*q; q=head->next; cout<<"請輸入您的賬號〔八位〕:"; cin>>c; while(q) { if(q->number==c) { cout<<"賬號已存在!"<<endl; break; } else q=q->next; } if(!q) { while(c/1e7<1||c/1e7>10) { cout<<"輸入的位數不正確:"; cin>>c; } T.InsertAccount(c); } } break; case3: { longintr; intt,l; cout<<"請輸入執行操作的賬號:"; cin>>r; cout<<"請輸入你存取的錢數:"; //cout<<"存入錢數在前加"+",取出錢數在前加"-""<<endl; cin>>t; T.Record(r,t); cout<<"繼續操作請輸入1,退出輸入0:"<<endl; cin>>l; while(l==1) { cout<<"請輸入執行操作的賬號:"; cin>>r; cout<<"請輸入你存取的錢數:"; cout<<"存入錢數在前加,取出錢

溫馨提示

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

評論

0/150

提交評論