c++課程設(shè)計---銀行賬戶管理系統(tǒng)程序_第1頁
已閱讀1頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、<p><b>  C++語言課程設(shè)計</b></p><p>  題目:銀行賬戶管理系統(tǒng)</p><p>  班級:信 計 1102 班</p><p><b>  學號: </b></p><p><b>  姓名: </b></p>&

2、lt;p>  日期: 2013年1月3日 </p><p><b>  一 題目介紹</b></p><p><b>  銀行賬戶管理程序</b></p><p><b>  問題描述</b></p><p>  設(shè)計計一個銀行賬戶管理程序,賬戶的信息有賬號(唯一)、姓名

3、、余額、身份證號碼、電話號碼等,允許用戶進行如下操作:開戶、銷戶、存款、取款、轉(zhuǎn)賬、查詢,一個用戶可以有多個戶頭,賬戶的數(shù)值沒有上限,保存為文件。</p><p><b>  基本要求 </b></p><p>  程序運行時,可以由用戶選擇進行何種操作。</p><p><b>  輸入:</b></p>

4、<p>  程常運行后,屏幕上顯示一個文字菜單(根據(jù)序號選定相應(yīng)的操作項目)當用戶選定操作項目所對應(yīng)的序號時,根據(jù)應(yīng)用程序的提示信息,從鍵盤上輸入相應(yīng)的數(shù)據(jù)。</p><p>  輸出:1.應(yīng)用程序正常運行后,要在屏幕上顯示一個文字菜單</p><p>  2.要求用戶輸入數(shù)據(jù)時,要給出清晰、明確的提示信息,包括輸入的數(shù)據(jù)內(nèi)容,格式及結(jié)束方式等 。</p><

5、p><b>  二 系統(tǒng)分析</b></p><p>  本程序定義了一個銀行類Bank,用戶可根據(jù)界面提示自行操作。由于要實現(xiàn)界面的回復,所以用了大量的函數(shù)調(diào)用,在控制用戶的循環(huán)操作時采用了大量的for循環(huán)、do while語句、if else語句、return語句、switch語句等。</p><p>  程序大體分為九個方面:</p>&l

6、t;p>  1* 定義一個銀行類Bank,數(shù)據(jù)成員主要有姓名、身份證號碼、賬號、電話號碼、余額、密碼等內(nèi)容,可供用戶操作的功能有首頁,開戶、存款、取款、轉(zhuǎn)賬、銷戶、查詢等。</p><p>  2* 構(gòu)造首頁函數(shù),顯示銀行系統(tǒng)的操作選擇界面,具體包括開戶、銷戶、存款、取款、轉(zhuǎn)賬、查詢、退出等七個部分,幫助客戶清晰的看到需要進行服務(wù)的內(nèi)容,以便按照提示進行選擇。在選擇是運用了do while 語句限定了只能

7、按0~6之間的數(shù)字進行選擇,按其他的鍵均不起作用。</p><p>  3* 構(gòu)造開戶函數(shù),按照提示輸入相關(guān)信息進行賬戶的創(chuàng)建,該系統(tǒng)根據(jù)不同的客戶可創(chuàng)建多個賬戶,運用for循環(huán)語句和if判斷語句保證每個用戶和賬號都不重復(即唯一)。如果賬號重復,系統(tǒng)會提示賬號已經(jīng)存在請重新創(chuàng)建,并且把開戶的結(jié)果保存在文件中。</p><p>  4* 構(gòu)造存款函數(shù),主要運用for循環(huán)語句和if判斷語句,

8、用戶輸入賬號進行存款,如果賬號不存在系統(tǒng)會提示賬號不存在,然后提示重新輸入賬號或者先進行開戶再進行存款。若賬號正確系統(tǒng)提示輸入所存金額,則存款成功,同時信息會保存在文件中。</p><p>  5* 構(gòu)造取款函數(shù),主要運用for循環(huán)語句和if else判斷語句,輸入銀行賬號和密碼,若賬號正確密碼錯誤會顯示密碼錯誤,然后重新輸入密碼。若密碼和賬號都正確則可以進行取款服務(wù),若密碼和賬號都錯誤,則系統(tǒng)會提示該賬戶不存

9、在。并且把信息保存在文件中。</p><p>  6* 構(gòu)造轉(zhuǎn)賬函數(shù),主要運用for循環(huán)語句和if else判斷語句及return語句等,只要正確輸入轉(zhuǎn)出、轉(zhuǎn)入賬戶的密碼和賬號就可實現(xiàn)將一個賬戶所存的錢轉(zhuǎn)給另一個賬戶,但若轉(zhuǎn)賬金額大于所存金額系統(tǒng)會提示余額不足,若密碼和賬戶有一個出錯則轉(zhuǎn)賬服務(wù)無法完成,并且把相關(guān)信息存在文件中。</p><p>  7* 構(gòu)造銷戶函數(shù),主要運用for循環(huán)

10、語句和if else判斷語句及return語句等, 若輸入的密碼和賬戶信息均正確則系統(tǒng)會把所有的創(chuàng)建信息刪除,若有一個不正確則銷戶服務(wù)完成不了。</p><p>  8* 構(gòu)造查詢函數(shù),主要運用for循環(huán)語句和if else判斷語句及return語句等,只要正確輸入信息就可以從頁面上看到用戶的賬戶號 、姓名 、余額等,若輸入不正確則會提示賬戶不存在或密碼錯誤。</p><p>  9*

11、 主函數(shù)部分,運用switch語句分7種情況進行函數(shù)調(diào)運,在主頁中選擇不同的服務(wù),則進行調(diào)用上述的函數(shù)。</p><p><b>  程序流程圖為:</b></p><p><b>  三 程序代碼</b></p><p>  #include<iostream.h></p><p> 

12、 #include<string.h></p><p>  #include<stdio.h></p><p>  #include<fstream.h></p><p>  #include<stdlib.h></p><p>  class Bank{</p><p>

13、;<b>  public:</b></p><p>  static int num;</p><p>  int shouye();//首頁</p><p>  void kaihu(Bank bank[]);//開戶</p><p>  void cunkuan(Bank bank[]);//存款</p>

14、;<p>  void qukuan(Bank bank[]);//取款</p><p>  void zhuanzhang(Bank bank[]);//轉(zhuǎn)帳</p><p>  void xiaohu(Bank bank[]);//銷戶</p><p>  void chaxun(Bank bank[]);//查詢</p><p

15、><b>  private:</b></p><p>  char name[20];//姓名</p><p>  char ID[20]; //身份證</p><p>  long count;//賬號</p><p>  int number;//電話號碼</p><p>  char

16、 mima[20]; //密碼</p><p>  int money; //余額</p><p><b>  };</b></p><p>  //構(gòu)造首頁函數(shù)顯示選擇界面</p><p>  int Bank::num=0;</p><p>  int Bank::shouye()

17、</p><p><b>  { </b></p><p><b>  char i;</b></p><p><b>  do{</b></p><p>  system("cls");</p><p>  cout<<

18、"\t\t$*@*@*@*@*@*@*@*@*@*@*@*@*@*@*@*@*@*@*@*@*@*@*@*@$" <<endl\</p><p>  <<"\t\t$ $" <<endl\</p><p>  <&l

19、t;"\t\t$ 銀行賬戶管理系統(tǒng) $" <<endl\</p><p>  <<"\t\t$ $" <<endl\</p><p>  <<&quo

20、t;\t\t$ $" <<endl\</p><p>  <<"\t\t$ 1. 開戶. 4. 轉(zhuǎn)帳. $" <<endl\</p><p>  <<"

21、\t\t$ $" <<endl\</p><p>  <<"\t\t$ 2. 存款. 5. 銷戶. $" <<endl\</p><p>  <<"\t

22、\t$ $" <<endl\</p><p>  <<"\t\t$ 3. 取款. 6. 查詢. $" <<endl\</p><p>  <<"\t\t

23、$ 0. 退出 $" <<endl\</p><p>  <<"\t\t$*@*@*@*@*@*@*@*@*@*@*@*@*@*@*@*@*@*@*@*@*@*@*@*@$" <<endl <<endl\</p><p>  <&

24、lt;"\t\t\t請選擇要服務(wù)的內(nèi)容(0~6) :" ;</p><p><b>  cin>>i;</b></p><p>  }while(i-'0'<0||i-'0'>6);</p><p>  return i-'0';</p>

25、<p><b>  }</b></p><p><b>  //構(gòu)造開戶函數(shù)</b></p><p>  void Bank::kaihu(Bank bank[])</p><p><b>  {</b></p><p><b>  int j;</b

26、></p><p>  char mima1[20];</p><p>  ofstream os("賬戶.txt",ios::app);</p><p>  bank[num].money=0;</p><p>  cout<<"請輸入創(chuàng)建姓名"<<endl;</p

27、><p>  cin>>bank[num].name;</p><p>  cout<<"請輸入身份證號"<<endl;</p><p>  cin>>bank[num].ID;</p><p>  cout<<"請輸入創(chuàng)建賬號"<<e

28、ndl;</p><p>  cin>>bank[num].count;</p><p>  cout<<"請輸入電話號碼"<<endl;</p><p>  cin>>bank[num].number;</p><p>  cout<<"請輸入密碼&q

29、uot;<<endl;</p><p>  cin>>bank[num].mima;</p><p>  cout<<"請再次輸入密碼"<<endl;</p><p>  cin>>mima1;</p><p>  if(strcmp(mima1,bank[num

30、].mima)!=0)</p><p><b>  {</b></p><p>  cout<<"密碼前后輸入不一致,請重新輸入"<<endl;</p><p>  return; </p><p><b>  }</b></p>&

31、lt;p>  for(j=0;j<num;j++)</p><p>  if(bank[num].count==bank[j].count)</p><p><b>  {</b></p><p>  cout<<"賬號已存在,請從新輸入賬號"<<endl;</p><

32、p>  this->kaihu(bank);</p><p><b>  }</b></p><p>  cout<<"賬戶創(chuàng)建成功,請牢記你的密碼和賬號!"<<endl;</p><p>  os<<"姓名 賬號 余額"<<endl;</

33、p><p>  os<<bank[num].name<<" "<<bank[num].count<<" "<<bank[num].money<<endl;</p><p>  os.close();</p><p><b>  num++;</

34、b></p><p><b>  }</b></p><p><b>  //構(gòu)造存款函數(shù)</b></p><p>  void Bank::cunkuan(Bank bank[])</p><p><b>  {</b></p><p>  lo

35、ng count;</p><p>  int money=0;</p><p>  cout<<"請輸入銀行賬號"<<endl;</p><p>  cin>>count;</p><p>  for(int i=0;i<num;i++)</p><p>

36、  if(count==bank[i].count)</p><p><b>  {</b></p><p>  cout<<"請輸入所存金額"<<endl;</p><p>  cin>>money;</p><p>  bank[i].money+=money;

37、</p><p>  cout<<"存款成功!"<<endl;</p><p>  ofstream os("賬戶.txt");</p><p>  for(int j=0;j<num;j++)</p><p>  os<<bank[i].name<<

38、;" "<<bank[i].count<<" "<<bank[i].mima<<endl;</p><p><b>  return;</b></p><p><b>  }</b></p><p>  cout<<&quo

39、t;此賬戶不存在,請先進行開戶"<<endl;</p><p><b>  }</b></p><p><b>  //構(gòu)造取款函數(shù)</b></p><p>  void Bank::qukuan(Bank bank[])</p><p><b>  {</b&

40、gt;</p><p>  long count;</p><p>  int money=0;</p><p>  char mima[20];</p><p>  cout<<"請輸入銀行賬號"<<endl;</p><p>  cin>>count;<

41、/p><p>  cout<<"請輸入密碼"<<endl;</p><p>  cin>>mima;</p><p>  for(int i=0;i<num;i++)</p><p>  if((strcmp(mima,bank[i].mima)!=0)&&(count

42、==bank[i].count))</p><p>  {cout<<"密碼錯誤,請重新輸入"<<endl;</p><p>  cin>>mima;</p><p>  if((strcmp(mima,bank[i].mima)==0)&&(count==bank[i].count))<

43、;/p><p><b>  {</b></p><p>  cout<<"請輸入取款金額"<<endl;</p><p>  cin>>money;</p><p>  bank[i].money-=money;</p><p>  cout&l

44、t;<"取款成功!"<<endl;</p><p>  ofstream os("賬戶.txt");</p><p>  for(int j=0;j<num;j++)</p><p>  os<<bank[i].name<<" "<<bank[i]

45、.count<<" "<<bank[i].mima<<endl;</p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><

46、b>  else</b></p><p>  if((strcmp(mima,bank[i].mima)==0)&&(count==bank[i].count))</p><p><b>  {</b></p><p>  cout<<"請輸入取款金額"<<endl;

47、</p><p>  cin>>money;</p><p>  bank[i].money-=money;</p><p>  cout<<"取款成功!"<<endl;</p><p>  ofstream os("賬戶.txt");</p><

48、p>  for(int j=0;j<num;j++)</p><p>  os<<bank[i].name<<" "<<bank[i].count<<" "<<bank[i].mima<<endl;</p><p><b>  return;</b&g

49、t;</p><p><b>  }</b></p><p>  cout<<"此賬戶不存在,請先進行開戶"<<endl;</p><p><b>  }</b></p><p><b>  //構(gòu)造轉(zhuǎn)賬函數(shù)</b></p>

50、;<p>  void Bank::zhuanzhang(Bank bank[])</p><p><b>  {</b></p><p>  long count1,count2;</p><p>  int money;</p><p>  cout<<"請輸入您的賬號:"

51、;;</p><p>  cin>>count1;</p><p>  cout<<"請輸入密碼"<<endl;</p><p>  cin>>mima;</p><p>  for(int i=0;i<num;i++)</p><p>  if

52、((strcmp(mima,bank[i].mima)==0)&&(count==bank[i].count))</p><p><b>  {</b></p><p>  cout<<"請輸入轉(zhuǎn)賬的用戶賬號"<<endl;</p><p>  cin>>count2;&l

53、t;/p><p>  for(int j=0;j<num;j++)</p><p>  if(count2==bank[j].count)</p><p><b>  {</b></p><p>  cout<<"請輸入轉(zhuǎn)賬的金額";</p><p>  cin&

54、gt;>money;</p><p>  if(bank[i].money-money<0)</p><p><b>  {</b></p><p>  cout<<"對不起,您的賬戶上余額不足"<<endl;</p><p><b>  return;&

55、lt;/b></p><p><b>  }</b></p><p>  bank[i].money-=money;</p><p>  bank[j].money+=money;</p><p>  cout<<"轉(zhuǎn)賬成功!"<<endl;</p><

56、;p>  ofstream os("賬戶.txt");</p><p>  for(int k=0;k<num;k++)</p><p>  os<<bank[i].name<<" "<<bank[i].count<<" "<<bank[i].mima<

57、<endl;</p><p><b>  return;</b></p><p><b>  }</b></p><p>  cout<<"該用戶不存在"<<endl;</p><p><b>  return;</b><

58、/p><p><b>  }</b></p><p>  cout<<"您輸入的賬戶不存在或密碼錯誤"<<endl;</p><p><b>  }</b></p><p><b>  //構(gòu)造銷戶函數(shù)</b></p>&

59、lt;p>  void Bank::xiaohu(Bank bank[])</p><p><b>  {</b></p><p><b>  int i,j;</b></p><p>  long count;</p><p>  char mima[20];</p><

60、p>  cout<<"請輸入銀行賬號"<<endl;</p><p>  cin>>count;</p><p>  cout<<"請輸入密碼"<<endl;</p><p>  cin>>mima;</p><p>  fo

61、r(i=0;i<num;i++)</p><p>  if((strcmp(mima,bank[i].mima)==0)&&(count==bank[i].count))</p><p><b>  {</b></p><p><b>  int c;</b></p><p>

62、  cout<<"您確定要注銷此戶(Y/N)?"<<endl;</p><p><b>  cin>>c;</b></p><p>  if(c=='n'||c=='N')</p><p><b>  return;</b></p

63、><p><b>  else</b></p><p><b>  {</b></p><p>  for(j=i;j<num-1;j++)</p><p><b>  {</b></p><p>  strcpy(bank[j].name,bank[

64、j+1].name);</p><p>  strcpy(bank[j].ID,bank[j+1].ID);</p><p>  strcpy(bank[j].mima,bank[j+1].mima);</p><p>  bank[j].count=bank[j+1].count;</p><p>  bank[j].money=bank[

65、j+1].money;</p><p>  bank[j].number=bank[j+1].number;</p><p><b>  }</b></p><p><b>  num--;</b></p><p>  cout<<"\n\t\t\t賬戶注銷成功!"&

66、lt;<endl;</p><p>  ofstream os("賬戶.txt");</p><p>  for(i=0;i<num;i++)</p><p>  os<<bank[i].name<<" "<<bank[i].count<<" "&

67、lt;<bank[i].mima<<endl;</p><p>  system("pause");</p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  }</b><

68、/p><p>  cout<<"您輸入的賬戶不存在或密碼錯誤"<<endl;</p><p><b>  }</b></p><p><b>  //構(gòu)造查詢函數(shù)</b></p><p>  void Bank::chaxun(Bank bank[])<

69、/p><p><b>  {</b></p><p><b>  int i;</b></p><p>  long count;</p><p>  char mima[20];</p><p>  cout<<"請輸入銀行賬號"<<

70、endl;</p><p>  cin>>count;</p><p>  cout<<"請輸入密碼"<<endl;</p><p>  cin>>mima;</p><p>  for(i=0;i<num;i++)</p><p>  if((

71、strcmp(mima,bank[i].mima)==0)&&(count==bank[i].count))</p><p><b>  {</b></p><p>  cout<<"姓名"<<bank[i].name<<endl;</p><p>  cout<&l

72、t;"賬號"<<bank[i].count<<endl;</p><p>  cout<<"余額"<<bank[i].money<<endl;</p><p><b>  return;</b></p><p><b>  }</

73、b></p><p>  cout<<"您輸入的賬戶不存在或密碼錯誤"<<endl;</p><p><b>  }</b></p><p><b>  //函數(shù)主體</b></p><p>  void main()</p><

74、p><b>  {</b></p><p>  Bank bank[100];</p><p><b>  for(;;)</b></p><p>  switch(bank->shouye())</p><p><b>  {</b></p><

75、;p>  case 0: cout<<"謝謝使用!"<<endl; exit(0);</p><p>  case 1: bank->kaihu(bank) ; system("pause"); break;</p><p>  case 2: bank->cunkuan(bank) ;

76、 system("pause"); break;</p><p>  case 3: bank->qukuan(bank) ; system("pause"); break;</p><p>  case 4: bank->zhuanzhang(bank) ; system("pause"); br

77、eak;</p><p>  case 5: bank->xiaohu(bank) ; system("pause"); break;</p><p>  case 6: bank->chaxun(bank) ; system("pause"); break;</p><p><b&g

78、t;  }</b></p><p><b>  }</b></p><p><b>  四 運行結(jié)果</b></p><p>  1、首先給出用戶操作界面</p><p>  2、用戶根據(jù)提示選擇相應(yīng)功能</p><p>  1*若選擇的是1(開戶)就有</

79、p><p>  只要多次選擇1就可開多個賬號</p><p>  若建立的賬號重復系統(tǒng)會提示讓重新建立</p><p>  2* 若選擇的是2(存款)</p><p>  若銀行賬號不存在系統(tǒng)會提示讓先開戶</p><p>  3*若選擇3(取款)若密碼錯誤會提示重新輸入</p><p>  若賬號

80、不存在則取款服務(wù)完成不了</p><p>  4*若選擇的是4(轉(zhuǎn)賬)</p><p>  若賬號不存在系統(tǒng)會提示</p><p>  5*若選擇的是5(銷戶)</p><p>  6*若選擇的是6(查詢)</p><p>  若查詢的是已開戶的6221234只要輸入信息正確就有</p><p>

81、;  若查詢的是已開戶的1234567只要信息正確就有</p><p>  若輸入的信息錯誤就有</p><p>  7*若選擇的是0(退出)就有</p><p><b>  五 總結(jié)</b></p><p>  通過此次課程設(shè)計,讓我感觸頗多,我們光靠課本上的知識是遠遠不夠的,書上的內(nèi)容僅僅是一些簡單的基礎(chǔ)知識,如果要

82、編寫大型的程序,我們必須要學習大量的其他知識,所以平時一定要養(yǎng)成自學的習慣。還有通過編程讓我認識到好多基礎(chǔ)知識都不扎實,有些當時上課感覺掌握了,但一到實踐就查出問題了,所以以后無論學啥都要認真、都要仔細。</p><p>  就本程序而言,雖然題目要求并未涉及用戶密碼,但是作為銀行的模擬系統(tǒng)應(yīng)當設(shè)置用戶密碼,所以我加入了密碼,使系統(tǒng)更加的具有實用性和真實性,這是比較好的一面,但是銷戶后的帳戶并不能直接通過類中定義

83、的函數(shù)分配給其他的用戶,程序在進行多次調(diào)用函數(shù)后在最后銷戶時會出錯,這是需要進一步改進的一面。盡管如此,但并不影響用戶的實際操作及用戶的數(shù)據(jù)。 </p><p>  本程序全都采用通俗易懂的函數(shù)和語句構(gòu)成,別人易看,操作簡單、易懂,結(jié)構(gòu)清晰,思路合理,但還有很多不足,在以后的學習中,一定要注意,爭取在以后編程時,能夠避免本程序的不足。</p><p>  總之,此次課程實際,讓我更加熟悉了

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論