




已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
.面向對象程序設計課程設計報告學生姓名:學 號:學 院:班 級:題 目:銀行賬戶管理系統(tǒng) 副教授指導教師: 職稱: 實驗師 2015年12月13日可編輯修改目 錄目 錄I一、選題背景11.1 社會背景11.2 功能需求1二、算法設計12.1 總體設計12.2 詳細設計22.2.1 基本功能 用戶功能 管理員功能32.2.2 基本功能模塊圖5三、程序及功能說明63.1 主要的程序及基本功能實現(xiàn)6四、結果分析144.1 實驗結果與分析14五、總 結19六、課程設計心得體會20參考文獻21源程序22一、選題背景1.1 社會背景隨著計算機技術飛速發(fā)展及其應用領域的擴大,特別是計算機網絡和電子商務的發(fā)展,極大地改變了商業(yè)銀行傳統(tǒng)的經營和管理模式。能夠為客戶提供方便、快捷、安全的服務,也能有效降低銀行的運營成本,這是銀行管理系統(tǒng)追求的目標。目前,對于現(xiàn)代化銀行運營的要求是客戶可以實現(xiàn)隨時隨地的業(yè)務交易,銀行職員可以進行高效合理的工作管理,實現(xiàn)銀行業(yè)務電子化。如今隨著銀行信譽的不斷提高,人們對銀行儲蓄愈加依賴,因此銀行需要一個更加完善的處理系統(tǒng),來滿足顧客以及銀行管理人員的使用。1.2 功能需求通過銀行管理系統(tǒng)一方面加快了客戶的服務,提高的服務質量,另一方面減輕了員工的工作復雜度,提高了工作效益,實現(xiàn)銀行帳戶管理的系統(tǒng)化、規(guī)范化、自動化和智能化。系統(tǒng)具體實現(xiàn)的目標如下:(1)鍵盤操作,快速響應。(2)對用戶輸入的數(shù)據,系統(tǒng)會進行嚴格的數(shù)據檢驗,盡量避免了人為的錯誤。(3)實現(xiàn)銀行開戶、取款、存款、查詢、轉賬、修改密碼等功能。(4)系統(tǒng)運行穩(wěn)定,可靠。(5)系統(tǒng)應人性化,符合用戶操作習慣。(6)使用控制臺進行操作二、算法設計2.1 總體分析由客戶端程序和服務器端程序構成,客戶端運行在面向個人業(yè)務的銀行柜臺的電腦上,通過網絡通訊向服務器發(fā)送請求并接受服務器端程序的應達顯示處理的結果。服務器端處理客戶端的各種業(yè)務請求。主要實現(xiàn)銀行開戶、取款、存款、查詢、修改密碼等功能。本程序主要實現(xiàn)銀行開戶、取款、存款、查詢、修改密碼等功能。其中包括用戶功能和管理員功能。進入程序后首先選擇身份,身份確定后再進行相關的操作。(1)用戶功能用戶功能包括:登錄模塊、主菜單模塊、存款模塊、取款模塊、查詢模塊以及退出功能。(2)管理員功能管理員功能包括:添加用戶功能、刪除用戶功能、查詢、修改所有用戶基本信息功能、打印用戶清單功能以及退出功能。2.2 詳細設計2.2.1 基本功能 用戶功能 (1)用戶登錄功能輸入用戶名和密碼,驗證正確后進入系統(tǒng)。表1 用戶登錄輸入處理輸出1、用戶名2、密碼1、密碼有三次輸入機會2、驗證用戶名及密碼3、用戶名及密碼正確后進入主菜單界面。如果用戶名或者密碼不正確,給用戶一個友好提示并提示還有幾次機會(2)主菜單功能輸出主菜單(存款、取款、查詢、退出)供用戶選擇,然后根據用戶的輸入選擇進入不同的系統(tǒng)功能。表2 主菜單功能輸入處理輸出1、菜單項編號1、驗證用戶輸入的菜單項編號是否正確(03之間);2、根據用戶的選擇進入不同的功能界面。如果用戶輸入的菜單項編號不正確,給用戶一個友好提示,并要求用戶重新輸入。(3)存款功能用戶在輸入賬號和密碼正確后可選擇存款功能,需輸入存款金額,金額要大于0。表3 輸入存款的基本信息輸入處理輸出1、賬戶ID2、存款金額1、輸入的所有信息必填。2、驗證賬戶ID3、存款金額大于0.00元如果用戶輸入的各項數(shù)據不正確,給用戶一個友好提示,并要求用戶重新輸入。(4)取款功能用戶在輸入賬號和密碼正確后可選擇取款功能,需輸入取款金額,金額要大于0小于賬戶余額。表4 輸入取款的基本信息輸入處理輸出1 賬戶ID、2 密碼3取款金額1、驗證賬戶ID。2、驗證用戶密碼。3、取款金額大于0.00元,小于用戶賬戶余額。如果用戶輸入的各項數(shù)據不正確,給用戶一個友好提示,并要求用戶重新輸入。(5)查詢功能表5 輸入查詢基本信息輸入處理輸出1、賬戶ID2、密碼1、輸入的所有信息必填。2、驗證賬戶ID;3、驗證密碼;如果用戶輸入的各項數(shù)據不正確,給用戶一個友好提示,并要求用戶重新輸入。(6)退出功能給客戶退出提示,客戶確認后,退出程序。 管理員功能 (1)管理員添加用戶功輸入用戶的基本信息,添加賬戶。表6 添加用戶功能輸入處理輸出1、用戶姓名2、密碼3、開戶金額1、開戶的所有信息必填2、用戶姓名3、密碼各項信息完整,提示添加用戶成功。(2)管理員刪除用戶功能輸入用戶賬號表7 刪除用戶功能輸入處理輸出1、用戶姓名1、開戶的所有信息刪除成功(3)查詢顧客功能管理員可以查詢所有用戶的基本信息。表8 查詢用戶功能輸入處理輸出1、用戶姓名2、密碼3、賬號1、開戶的所有信息必填2、用戶姓名3、密碼用戶各項信息。(4)修改顧客功能管理員可以修改所有用戶的基本信表9 修改用戶功能輸入處理輸出1、用戶姓名2、密碼3、賬號1、開戶的所有信息必填2、用戶姓名3、密碼修改成功,用戶各項信息(5)打印清單功能管理員可以查詢用戶基本信息,然后進行打印。表10 查詢所有用戶功能輸入處理輸出1、用戶姓名2、密碼1、用戶姓名2、密碼所有用戶各項信息。(6)退出功能 給管理員退出提示,管理員確認后,退出程序。2.2.2 基本功能模塊圖存款查詢銀行管理系統(tǒng)用戶管理員退出刪除顧客修改顧客查詢顧客全部顧客添加顧客退出取款三、程序及功能說明3.1 主要的程序及基本功能實現(xiàn)在程序中定義了四個類,分別為:class bankzh ,class Cust,class Admin,class KB(1)第一個菜單選項創(chuàng)建bankzh類中的方法只有main(),創(chuàng)建第一個菜單選項,即選擇登錄身份。按1是選擇管理員,按2是選擇用戶,按3是退出。public class bankzh public static void main(String args) Admin a = new Admin();while (true)System.out.println(*);System.out.println(*管理員t1*);System.out.println(*用戶t2*);System.out.println(*退出t3*);System.out.println(*);int c = KB.scanInt();switch (c)case 1:a.run();break;case 2:System.out.println(請輸入您的賬號);int ID = KB.scanInt();int i = 0 ;for (i = 0 ; i a.v.size() ; i+ )Cust temp = (Cust)a.v.get(i);if (temp.ID = ID)temp.run(ID);break;if (i = a.v.size()System.out.println(用戶不存在);System.out.println(歡迎下次光臨);break;case 3:return;(2)用戶的菜單建立. Cust類中定義的方法有checkPWD(),getM(int n),saveM(int n),run(Cust c),printMenu(), 1)定義的成員變量有: String name;int ID;int password;double money;一個Cust()構造函數(shù) Cust(String name,int ID,int password,double money) = name; this.ID = ID; this.password = password; this.money = money; 2)第二個菜單選項,用戶的菜單模塊。用戶在進行賬戶和密碼輸入后,正確則進入菜單功能項,用戶的功能有如下,取款、存款、查詢、退出功能。static void printMenu()System.out.println(*);System.out.println(*取款t1*);System.out.println(*存款t2*);System.out.println(*查詢t3*);System.out.println(*退出t0*);System.out.println(*);3)用戶可以取款,需輸入顧客的賬號、密碼,取款時,系統(tǒng)會給于相應提示。System.out.println(請輸入取款金額);int n1 = KB.scan.nextInt();this.getM(n1);System.out.println(取款成功);4)用戶可以存款,需輸入顧客的賬號、密碼,存款時,系統(tǒng)會給于相應提示。System.out.println(請輸入存款金額);int n = KB.scan.nextInt();this.saveM(n);System.out.println(存款成功);5)用戶可以查詢,需輸入顧客的賬號、密碼,系統(tǒng)會有提示信息,告知用戶。void print()System.out.println(name:t+);System.out.println(ID:t+this.ID);System.out.println(money:t+this.money);(3)管理員的功能建立Admin類中有Admin(),add(),delete(),printAll(),update(),run()方法。1)管理員的功能有添加顧客,刪除顧客,查詢顧客,修改顧客,打印清單以及退出功能,用switch語句來進行選擇,按1選擇添加顧客,2選擇刪除顧客,3選擇查詢顧客,4選擇打印清單,5選擇修改顧客,0選擇退出。退出是并不是退出系統(tǒng),而是退出管理員功能,再次進行確認,如果沒有人繼續(xù)登錄則進行選擇退出程序。void run()boolean flag = true;while (flag)System.out.println(*);System.out.println(*添加顧客t1*);System.out.println(*刪除顧客t2*);System.out.println(*查詢顧客t3*);System.out.println(*打印清單t4*);System.out.println(*修改顧客t5*);System.out.println(*退出t0*);System.out.println(*);int cmd = KB.scan.nextInt();switch (cmd)case 1:this.add();break;case 2:this.delete();break;case 3:this.print();break;case 4:this.printAll();break;case 5:this.update();break;case 0:flag = false;break;2)管理員添加顧客所需填入的顧客基本信息有:顧客姓名,賬號,密碼以及開戶金額。 void add()System.out.println(請輸入姓名);String name = KB.scanString();System.out.println(請輸入賬號);int ID = KB.scanInt();System.out.println(請輸入密碼);int password = KB.scanInt();System.out.println(請輸入開戶金額);double money = KB.scanDouble();Cust temp = new Cust(name,ID,password,money);v.add(temp);3)管理員可以查詢顧客的基本信息,需輸入顧客的賬號,如果沒有該顧客,系統(tǒng)會有提示信息,告訴管理員沒有該顧客。void print()System.out.println(請輸入要查詢顧客的賬號);int ID = KB.scanInt();int i = 0 ;for (i = 0 ; i v.size() ; i+ )Cust temp = (Cust)v.get(i);if (temp.ID = ID)temp.print();break;if (i = v.size()System.out.println(沒有該顧客);4)管理員可以刪除顧客的基本信息,需輸入顧客的賬號,如果沒有該顧客,系統(tǒng)會有提示信息,告訴管理員沒有該顧客。若刪除成功,系統(tǒng)會給于提示。void delete()System.out.println(請輸入要刪除顧客的賬號);int ID = KB.scanInt();int i = 0 ;for (i = 0 ; i v.size() ; i+ )Cust temp = (Cust)v.get(i);if (temp.ID = ID)temp.print();=0;temp.ID=0; temp.password=0; temp.money=0;System.out.println(刪除成功);break;if (i = v.size()System.out.println(沒有該顧客);5)管理員可以修改顧客的基本信息,需輸入顧客的賬號,如果沒有該顧客,系統(tǒng)會有提示信息,告訴管理員沒有該顧客。void update()System.out.println(請輸入要修改顧客的賬號);int ID = KB.scanInt();int i = 0 ;for (i = 0 ; i v.size() ; i+ )Cust temp = (Cust)v.get(i);if (temp.ID = ID)System.out.println(請輸入新姓名);=KB.scanString();System.out.println(請輸入新密碼);temp.password=KB.scanInt();System.out.println(請輸入新存款金額);temp.money=KB.scanDouble();System.out.println(修改成功);break;if (i = v.size()System.out.println(沒有該顧客);6)管理員可以查詢所有顧客的基本信息void printAll()for (int i = 0 ; i v.size() ; i+ )Cust temp = (Cust)v.get(i);temp.print();(3) KB類中有static int scanInt(),static String scanString(),static Double scanDouble()方法。為了使程序更簡潔,定義了KB類。class KB static Scanner scan = new Scanner(System.in);static int scanInt()return scan.nextInt();static String scanString()return scan.next();static Double scanDouble()return scan.nextDouble();四、結果分析4.1 實驗結果與分析(1)運行程序,會出現(xiàn)選擇界面,登陸者首先確認身份。1)選擇管理員后出現(xiàn)管理員菜單模塊,管理員的功能有添加用戶,刪除用戶,查詢用戶,打印清單,修改用戶和退出功能。管理員添加用戶時要填寫賬戶的基本信息。如圖所示。實驗測試:添加用戶,刪除用戶,查詢用戶,打印清單,修改用戶和退出功能 (2)用戶進入菜單選項。選擇用戶選項時,用戶要輸入賬號和密碼,全部正確后,進入主菜單模塊,用戶可進行選擇,用戶的功能有存款、取款、查詢、退出功能。用戶在進行存取款時,存款金額要大于0,取款金額要大于0小于賬戶余額。用戶在操作完畢后退出,用戶進行確認后,退出程序。如圖所示。實驗測試:存款、取款、查詢、退出功能。 (3)用戶查看基本資料。由主菜單可以看出用戶按1為取款、2為存款、3為查詢用戶基本資料、0為退出。如圖所示,為用戶按3鍵后查詢到賬戶資料的界面,可看出用戶名為r,用戶ID為111,用戶的余額為46333.0元。(4)程序界面友好在管理員、用戶系統(tǒng)中,在相應程序功能模塊中,在用戶相應操作中都給于相應操作提示,方便用戶使用。例如在用戶登錄用戶系統(tǒng)時,輸入密碼,有三次輸入機會,并給于相應提示,返回主菜單。 五、總 結本程序主要實現(xiàn)銀行開戶、取款、存款、查詢、修改等功能。其中包括用戶功能和管理員功能兩部分。進入程序后首先選擇身份,身份確定后再進行相關的操作。 (1)用戶功能用戶功能包括:登錄模塊、主菜單模塊、存款模塊、取款模塊、查詢模塊以及退出功能。 (2)管理員功能管理員功能包括:添加用戶功能、刪除用戶功能、修改用戶功能、查詢用戶功能、查詢所有用戶基本信息功能以及退出功能。為實現(xiàn)銀行開戶、取款、存款、查詢、修改等基本功能,在程序中定義了四個類,分別為:class bankzh ,class Cust,class Admin,class KB,bankzh類中的main()方法中,創(chuàng)建第一個菜單選項,即選擇登錄身份。Cust類中定義的方法有checkPWD(),getM(int n),saveM(int n),run(Cust c),printMenu(),定義的成員變量有: String name;int ID;int password;double money;一個Cust()構造函數(shù)。以此來實現(xiàn)在用戶的菜單模塊中,用戶在進行賬戶和密碼輸入后,正確后進入菜單功能項,用戶的功能取款、存款、查詢、退出基本功能。Admin類中有Admin(),add(),delete(),printAll(),update(),run()方法。來實現(xiàn)管理員的功能添加顧客,刪除顧客,查詢顧客,修改顧客,打印清單以及退出功能,管理員用switch語句來進行選擇,按1選擇添加顧客,2選擇刪除顧客,3選擇查詢顧客,4選擇打印清單,5選擇修改顧客,0選擇退出。退出是并不是退出系統(tǒng),而是退出管理員功能,再次進行確認,如果沒有人繼續(xù)登錄則進行選擇退出程序。KB類中有static int scanInt(),static String scanString(),static Double scanDouble()方法。KB類定義,解決程序冗余問題,使程序變得更簡潔,易懂??删庉嬓薷牧⒄n程設計心得體會通過在本次課程設計中,讓我們學會了如何去完成一個任務,去解決一個問題。當遇到問題要冷靜,想辦法一點一點的排除障礙,到最后獲取成功,這應該就是學習的樂趣。有時候不懂的就需要問別人了,虛心請教,從別人的身上真的能學到自己沒有的東西,每一次的挫折都會使我更接近成功。還有學會了在工作中與別人的合作與交流。這次課程設計在老師和同學那里學到了很多東西,使自己在處理問題方面有了很大的提高。課程設計有不少不足之處,有些問題沒得到理想解決。課程設計中需要有扎實的理論基本知識,操作起來才順心應手,我們這時才明白什么是“書到用時方恨少”。在短暫的實訓過程中,讓我們深深感受到自己在實際運用中專業(yè)知識的匱乏。還需深入學習。參考文獻1 曲朝陽, 郭曉利, 王曉慧, 孫鴻飛. C程序設計(第三版).北京:清華大學出版社,20052 陳國君, 陳錫禎. Java2程序設計基礎M. 北京: 清華大學出版社3 袁海燕. Java實用程序設計100例M. 北京: 人民郵電出版社4 朱站立、沈偉. Java程序設計實用教程M. 電子工業(yè)出版社源程序package bankzh;import java.util.Scanner;import java.util.Vector;public class bankzh public static void main(String args) Admin a = new Admin();while (true)System.out.println(*);System.out.println(*管理員t1*);System.out.println(*用戶t2*);System.out.println(*退出t3*);System.out.println(*);int c = KB.scanInt();switch (c)case 1:a.run();break;case 2:System.out.println(請輸入您的賬號);int ID = KB.scanInt();int i = 0 ;for (i = 0 ; i a.v.size() ; i+ )Cust temp = (Cust)a.v.get(i);if (temp.ID = ID)/temp.print();temp.run(ID);/Cust b= Cust();break;if (i = a.v.size()System.out.println(用戶不存在);System.out.println(歡迎下次光臨);break;case 3:return;class CustString name;int ID;int password;double money;Cust(String name,int ID,int password,double money) = name;this.ID = ID;this.password = password;this.money = money;public boolean checkPWD()System.out.println(請輸入您的密碼);for (int i = 0 ; i money)System.out.println(不能透支);return false;money -= n;return true;void saveM(int n)this.money += n;void print()System.out.println(name:t+);System.out.println(ID:t+this.ID);System.out.println(money:t+this.money);void run(int iD2)if (this.checkPWD() = false)System.out.println(密碼錯誤超過3次);return;boolean flag = true;while (flag)printMenu();int cmd = KB.scan.nextInt();switch (cmd)case 1:System.out.println(請輸入取款金額);int n1 = KB.scan.nextInt();this.getM(n1);System.out.println(取款成功);break;case 2:System.out.println(請輸入存款金額);int n = KB.scan.nextInt();this.saveM(n);System.out.println(存款成功);break;case 3:this.print();break;case 0:flag = false;break;static void printMenu()System.out.println(*);System.out.println(*取款t1*);System.out.println(*存款t2*);System.out.println(*查詢t3*);System.out.println(*退出t0*);System.out.println(*);class KB static Scanner scan = new Scanner(System.in);static int scanInt()return scan.nextInt();static String scanString()return scan.next();static Double scanDouble()return scan.nextDouble();class Admin Vector v;Admin()v = new Vector();v.add(new Cust(小王,111,111,1000);v.add(new Cust(小紅,222,222,2000);v.add(new Cust(小張,333,333,3000);v.add(new Cust(小強,444,444,4000);void add()System.out.println(請輸入姓名);String name = KB.scanString();System.out.println(請輸入賬號);int ID = KB.scanInt();System.out.println(請輸入密碼);int password = KB.scanInt();System.out.println(請輸入開戶金額);double money = KB.scanDouble();Cust temp = new Cust(name,ID,password,money);v.add(temp);void delete()System.out.println(請輸入要刪除顧客的賬號);int ID = KB.scanInt();int i = 0 ;for (i = 0 ; i v.size() ; i+ )Cust temp = (Cust)v.get(i);if (temp.ID = ID)/temp=new Cust(0,0,0,0);temp.print();=0;temp.ID=0; temp.password=0; temp.money=0;System.out.println(刪除成功);break;if (i = v.size()System.out.println(沒有該顧客);void update()System.out.println(請輸入要修改顧客的賬號);int ID = KB.scanInt();int i = 0 ;for (i = 0 ; i v.size() ; i+ )Cust temp = (Cust)v.get(i);if (temp.ID = ID)System.out.println(請輸入新姓名);=KB.scanString();System.out.println(請輸入新密碼);temp.password=KB.scanInt();System.out.println(請輸入新存款金額);temp.money=KB.scanDouble();System.out.println(修改成功);break;if (i = v.size()System.out.println(沒有該顧客);void print()System.out.println(請輸入要查詢顧客的賬號);int ID = KB.scanInt();int i =
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2026學年安徽省明光市明光鎮(zhèn)映山中學三上數(shù)學期末聯(lián)考模擬試題含解析
- 2024年隴川縣三年級數(shù)學第一學期期末統(tǒng)考模擬試題含解析
- 2024年吉林省白城市鎮(zhèn)賚縣數(shù)學三年級第一學期期末考試試題含解析
- 公共空間設計思維與設計方法課件
- 2025年自考行政管理的知識框架及試題答案
- 2025年執(zhí)業(yè)醫(yī)師考試公共衛(wèi)生試題及答案
- 藥效學與藥代動力學概述試題及答案
- 2025年執(zhí)業(yè)護士考試應試技巧試題與答案
- 2025年執(zhí)業(yè)醫(yī)師考試模擬題分享試題及答案
- 用藥評估與病治結果相關性試題及答案
- 《中央空調原理與維護》課件
- 石油化工壓力管道安裝工藝及質量控制重點
- 2025年上海市崇明區(qū)中考英語一模試卷
- 2024審計常用法規(guī)定性表述及適用
- 質量管理科提高醫(yī)療質量安全不良事件報告率PDCA
- 2025-2030年中國電力勘察設計行業(yè)現(xiàn)狀分析規(guī)劃研究報告新版
- DB31-T 1385-2022 科技成果分類評價和價值潛力評價規(guī)范
- 骨科股骨頸骨折“一病一品”成果匯報
- 《大禹治水的故事》課本劇劇本:感受英雄力量領略堅韌精神(6篇)
- 2018年高考英語全國一卷(精校+答案+聽力原文)
- 管道直飲水項目可行性研究報告
評論
0/150
提交評論