2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  軟件工程學(xué)院</b></p><p><b>  實 驗 報 告</b></p><p>  面向?qū)ο笳n程實踐(銀行存取款系統(tǒng))</p><p>  ****************************</p><p>  姓 名 </p>

2、<p>  院 (系) 軟件工程學(xué)院 </p><p>  專業(yè)年級 英語+軟件15班</p><p><b>  小 組 </b></p><p>  學(xué) 號 </p><p>  教 室 軟件工程實驗室(開發(fā))B144</p><p>

3、;  日 期 2014年9月15日-2014年9月19日</p><p>  目 錄</p><p>  需求與功能分析 2</p><p>  系統(tǒng)總體框架 2</p>

4、;<p>  模塊設(shè)計與分析 4</p><p>  類和結(jié)構(gòu)的設(shè)計與分析 6</p><p>  特色算法分析 7</p><p&

5、gt;  功能測試 10</p><p>  存在的不足與對策 10</p><p>  程序源代碼 17</p><p&

6、gt;  心得體會 17</p><p><b>  需求與功能分析</b></p><p>  使用面向?qū)ο蟪绦蛟O(shè)計思想設(shè)計銀行存取款管理系統(tǒng),它可以幫助我們有效、準(zhǔn)確的實現(xiàn)完整存取事件。此系統(tǒng)操作方便效率、安全性高,只要客戶開戶并設(shè)定好密碼就可以實現(xiàn)存取款。</p>

7、;<p>  系統(tǒng)實現(xiàn)的主要功能模塊有開戶管理、存款管理、取款管理、銷戶、帳戶信息查詢和退出等功能。</p><p>  開戶管理:用戶自行輸入用戶名、密碼、開戶金額等即可開戶成功。開戶成功后會為用戶生成一個用戶賬號。</p><p>  存款管理:用戶進(jìn)入系統(tǒng)界面后跟據(jù)提示輸入存款的用戶賬號,進(jìn)行密碼校驗;密碼確認(rèn)成功后,輸入相應(yīng)存款金額即可。</p><

8、;p>  取款管理:用戶進(jìn)入系統(tǒng)界面后根據(jù)提示輸入取款的用戶賬號,進(jìn)行密碼校驗;密碼確認(rèn)成功后,輸入相應(yīng)取款金額即可(如取款金額小于等于帳戶余額,則提款成功,否則提示余額不足)。</p><p>  銷戶管理:用戶可根據(jù)自身需求進(jìn)行銷戶處理。用戶根據(jù)提示輸入銷戶的用戶帳號,進(jìn)行密碼校驗;密碼確認(rèn)成功后,再次提示是否要銷戶(0銷戶,1不銷戶),輸入0后,才能正常銷戶,銷戶成功后,原用戶將不能繼續(xù)實現(xiàn)存取款功能

9、。</p><p>  賬戶信息查詢管理: 根據(jù)提示輸入查詢用戶賬號,進(jìn)行密碼校驗;密碼確認(rèn)成功后,即可顯示用戶名、帳戶號、余額以及用戶狀態(tài)(正?;蜾N戶)。</p><p>  退出功能:用戶在完成所需功能實現(xiàn)后,根據(jù)指令退出程序。</p><p><b>  系統(tǒng)總體框架</b></p><p><b>  

10、模塊設(shè)計與分析</b></p><p>  儲蓄卡開戶管理模塊:</p><p><b>  3.1 主界面頁面</b></p><p>  主要導(dǎo)航欄有:歡迎使用儲蓄卡管理(開戶、銷戶、存款、取款、賬戶信息、退出)</p><p>  3.2 開戶頁面</p><p>  輸入卡

11、號和密碼,再輸入開戶金額。開戶成功后,系統(tǒng)會分配一個六位數(shù)的賬號給用戶(第一個賬號為默認(rèn)為100000)</p><p><b>  3.3 存錢頁面</b></p><p>  從登錄界面得到卡號,并提供數(shù)據(jù)輸入界面,等待用戶的輸入存款金額。從后臺數(shù)據(jù)庫中找到該用戶余額記錄,修改余額,并將該存款事件的相應(yīng)信息寫人數(shù)據(jù)庫。系統(tǒng)將顯示存款成功。</p>

12、<p><b>  3.5 取款頁面</b></p><p>  從登錄界面得到卡號,并提供數(shù)據(jù)輸入界面,等待用戶輸入取款金額,如果取款金額大于該用戶卡上的余額則顯示余額不足。</p><p>  3.6 賬戶信息頁面</p><p>  從登錄界面得到的卡號,并提供數(shù)據(jù)輸入界面,輸入密碼后,顯示出用戶名,賬戶名,余額和用戶狀態(tài)信

13、息。</p><p>  3.7 銷戶頁面選擇銷戶選項,輸入用戶的賬戶號和密碼后,系統(tǒng)會詢問是否銷戶,輸入0后,即銷戶成功。</p><p><b>  3.8 退出頁面</b></p><p>  從關(guān)閉文件,最后關(guān)閉整個系統(tǒng)。</p><p>  列舉取款模塊進(jìn)行分析:</p><p> 

14、 int Bank::draMon(){</p><p>  double money = 0;</p><p>  Account* account = getAcoNum();</p><p>  if(ps-> state == 0){</p><p>  cout << "\n

15、 該賬戶已銷戶,不能繼續(xù)進(jìn)行取款";</p><p><b>  return 0;</b></p><p><b>  }</b></p><p>  if(account !=NULL && pasCheck(account)){</p><p>  cout <

16、<"\n 請輸入取款金額: ";</p><p>  cin >> money;</p><p>  while(money > account -> money) {</p><p>  int i = 0;</p><p>  cout <<

17、"\n 余額不足!請輸重新入有效的取款金額: ";</p><p>  cin >> money;</p><p>  if (i >= 3 && money > account ->money){</p><p>  cout <<"\n

18、 金額輸入無效次數(shù)已超過"<< i <<"次,是否繼續(xù)輸入"</p><p>  <<"\n 1.是 2.否 ";</p><p><b>  int j;</b></p><p&

19、gt;<b>  cin >> j;</b></p><p>  if(j == 1)</p><p><b>  continue;</b></p><p>  if(j == 2){</p><p>  cout <<"\n 系統(tǒng)將

20、自動跳轉(zhuǎn)至系統(tǒng)首頁\n";</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  i++;</b></p><p>&

21、lt;b>  }</b></p><p>  account -> money -= money;</p><p>  account -> record[account ->insert]-= money;</p><p>  //char * ctime(const time_t *timer); </p>&l

22、t;p>  account ->insert ++;</p><p>  cout <<"\n 取款成功.\n";</p><p><b>  }</b></p><p><b>  return 0;</b></p><p>

23、;<b>  }</b></p><p>  在取款頁面中,若輸入賬戶已銷戶,則輸出:該賬戶已銷戶,不能繼續(xù)進(jìn)行取款。若存在該賬戶,輸入取款金額并對取款金額與存款余額進(jìn)行比較,如果三次都超過的話就輸出: 金額輸入無效次數(shù)已超過"<< 3<<"次,是否繼續(xù)輸入",如果取款金額小于存款余額的話就執(zhí)行,并保存記錄。</p><

24、;p><b>  類的設(shè)計與分析</b></p><p><b>  1.Bank 類</b></p><p>  class Bank 主要制定用戶的成員數(shù)據(jù),并進(jìn)行登錄與保存功能:</p><p>  畫出Bank 類的類圖</p><p><b>  相關(guān)代碼:</b&g

25、t;</p><p>  class Bank {</p><p><b>  public:</b></p><p><b>  Bank();</b></p><p>  void bankEntrance();</p><p>  int creAco();</p

26、><p>  int deposit();</p><p>  int draMon();</p><p>  int cloAco();</p><p>  int inquir();</p><p>  Account* getAcoNum();</p><p>  bool pasCheck

27、(Account* account);</p><p><b>  ~Bank();</b></p><p><b>  private:</b></p><p>  Account* head;</p><p>  Account* ps;</p><p>  Accoun

28、t* pEnd;</p><p>  int creAcoNum; </p><p><b>  };</b></p><p>  表1 Bank類說明表</p><p>  2.Account結(jié)構(gòu)</p><p>  Account結(jié)構(gòu) 主要實現(xiàn)用戶的各種功能:</p><p

29、>  畫出Account結(jié)構(gòu)的結(jié)構(gòu)圖:</p><p><b>  Account結(jié)構(gòu)</b></p><p><b>  相關(guān)代碼</b></p><p>  struct Account {</p><p>  std::string name;</p><p> 

30、 int acoNum;</p><p>  std::string passWord;</p><p>  double money;</p><p>  double record[20];</p><p>  int insert;</p><p>  int state;</p><p>

31、;  Account* right;</p><p>  Account* left;</p><p><b>  };</b></p><p><b>  特色算法分析</b></p><p>  1.Bank類中的pasCheck方法</p><p>  功能:輸入密碼并

32、進(jìn)行確認(rèn),如果密碼確認(rèn)三次失敗,則退回主界面。</p><p><b>  流程圖:</b></p><p><b>  暫無</b></p><p><b>  代碼:</b></p><p>  bool Bank::pasCheck(Account* account){&

33、lt;/p><p>  string pasWord;</p><p><b>  int i;</b></p><p>  cout <<"\n 請輸入您的密碼: ";</p><p>  cin >> pasWord ;</p

34、><p>  for( i=0; i<3; i ++){</p><p>  if(account -> passWord != pasWord) {</p><p>  cout <<"\n 密碼輸入錯誤!請您重新您的密碼: ";</p><p>  cin &

35、gt;> pasWord ;</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  break;</b></p><p><b>  }</b></p><p>&l

36、t;b>  if(i==3){</b></p><p>  cout <<"\n 密碼輸入錯誤次數(shù)已超過3次,系統(tǒng)將自動跳轉(zhuǎn)至系統(tǒng)首頁\n";</p><p>  return false; </p><p><b>  } </b></p><

37、;p>  return true;</p><p><b>  }</b></p><p><b>  功能測試</b></p><p><b>  6.1 首頁:</b></p><p><b>  圖6-1:</b></p>&

38、lt;p><b>  開戶頁面</b></p><p><b>  圖6-2:</b></p><p><b>  6.3 存款頁面</b></p><p><b>  圖6-3:</b></p><p><b>  6.4 取款頁面&

39、lt;/b></p><p><b>  圖6-4 </b></p><p><b>  6.5賬戶信息頁面</b></p><p><b>  圖6-5:</b></p><p><b>  銷戶頁面</b></p><p

40、><b>  圖6-6:</b></p><p><b>  6.7退出頁面</b></p><p>  從保存數(shù)據(jù)并關(guān)閉文件,關(guān)閉整個系統(tǒng)。</p><p><b>  圖6-7:</b></p><p><b>  存在的不足</b></p

41、><p>  暫無對策 </p><p><b>  程序源代碼</b></p><p>  //*********************************</p><p>  //****** Bank.h ***************</p><p>  //****

42、*****************************</p><p>  struct Account {</p><p>  std::string name;</p><p>  int acoNum;</p><p>  std::string passWord;</p><p>  double mone

43、y;</p><p>  double record[20];</p><p>  int insert;</p><p>  int state;</p><p>  Account* right;</p><p>  Account* left;</p><p><b>  };&

44、lt;/b></p><p>  class Bank {</p><p><b>  public:</b></p><p><b>  Bank();</b></p><p>  void bankEntrance();</p><p>  int creAco()

45、;</p><p>  int deposit();</p><p>  int draMon();</p><p>  int cloAco();</p><p>  int inquir();</p><p>  Account* getAcoNum();</p><p>  bool p

46、asCheck(Account* account);</p><p><b>  ~Bank();</b></p><p><b>  private:</b></p><p>  Account* head;</p><p>  Account* ps;</p><p> 

47、 Account* pEnd;</p><p>  int creAcoNum; </p><p><b>  };</b></p><p>  //*********************************</p><p>  //****** Bank.cpp ***************</p

48、><p>  //*********************************</p><p>  #include"stdafx.h"</p><p>  #include<string></p><p>  #include"Bank.h"</p><p>  

49、#include"iostream"</p><p>  #include<string></p><p>  //#include "time.h" </p><p>  //#include "stdio.h" </p><p>  using namespace s

50、td;</p><p>  Bank::Bank(){ </p><p>  head = NULL;ps =NULL;pEnd = NULL; creAcoNum = 100000;</p><p><b>  }</b></p><p>  void Bank::bankEntrance(){</p>

51、<p>  int a = 0;</p><p>  cout <<" *****************************************************\n\n";</p><p>  cout <<" *** 歡迎進(jìn)入銀行存取款系統(tǒng)

52、 ***\n\n";</p><p>  cout <<" *****************************************************\n";</p><p>  while( a==0 ){</p><p>  cout <<"\n

53、 請選擇服務(wù)項目:\n";</p><p>  cout <<" ***********************************************\n"</p><p>  <<" **"<<" "

54、;<<"1.開戶"<<" "<<"**"<<" "<<"2.存款"<<" "<<"**"<<" "<<"3.取款"<<&qu

55、ot; "<<"**\n";</p><p>  cout <<" ***********************************************\n"</p><p>  <<" **"<<&q

56、uot; "<<"4.銷戶"<<" "<<"**"<<" "<<"5.帳戶信息"<<""<<"**"<<" "<<"6.退出"&

57、lt;<" "<<"**\n";</p><p>  cout <<" ***********************************************\n";</p><p>  cout <<" &qu

58、ot;;</p><p><b>  cin >> a;</b></p><p><b>  switch(a)</b></p><p><b>  {</b></p><p>  case 1: cout<<"

59、**開戶**"; a = creAco(); break;</p><p>  case 2: cout<<" **存款**"; a = deposit(); break;</p><p>  case 3: cout<<" **取款**"; a = dr

60、aMon(); break;</p><p>  case 4: cout<<" **銷戶**"; a = cloAco(); break;</p><p>  case 5: cout<<" **帳戶信息**"; a = inquir(); break;</p

61、><p><b>  case 6: </b></p><p>  default: cout<<" 退出.\n"; a = 1 ; return;</p><p><b>  }</b></p><p><b>  }</b

62、></p><p>  cout <<" *****************************************************\n\n";</p><p>  cout <<" *** 謝謝您的使用。 ***\n\n";&

63、lt;/p><p>  cout <<" *****************************************************\n";</p><p><b>  }</b></p><p>  int Bank::creAco(){</p><p>

64、  string name ;</p><p>  string passWord;</p><p>  double money;</p><p>  cout <<"\n 請輸入用戶名: ";</p><p>  cin >> name;</p>

65、;<p>  cout <<"\n 請輸入密碼: ";</p><p>  cin >> passWord;</p><p>  cout <<"\n 請輸入開戶金額: ";</p><p>  c

66、in>> money;</p><p>  Account* account = new Account;</p><p>  account -> name = name;</p><p>  account -> passWord = passWord;</p><p>  account -> money

67、= money;</p><p>  account -> acoNum = creAcoNum ++;</p><p>  account -> state = 1;</p><p>  for(int i=0; i<20; i ++)</p><p>  account ->record[i] = 0;</

68、p><p>  account -> insert = 0;</p><p>  if(head == NULL){</p><p>  head = account;</p><p>  pEnd = head;</p><p>  pEnd ->left = head;</p><p&g

69、t;  pEnd ->right = head;</p><p>  cout << "\n 您的賬號為: "<< head -> acoNum << endl;</p><p><b>  }</b></p><p><b&g

70、t;  else {</b></p><p>  ps = pEnd;</p><p>  pEnd = account;</p><p>  pEnd ->left = ps;</p><p>  ps -> right = pEnd;</p><p>  pEnd ->right =

71、pEnd;</p><p>  cout << "\n 您的賬號為: "<< pEnd -> acoNum;</p><p><b>  }</b></p><p><b>  return 0;</b></p>&l

72、t;p><b>  }</b></p><p>  int Bank::deposit(){</p><p>  double money;</p><p>  Account* account = getAcoNum(); </p><p>  if(ps-> state == 0){</p>

73、<p>  cout << "\n 該賬戶已銷戶,不能繼續(xù)進(jìn)行存款";</p><p><b>  return 0;</b></p><p><b>  }</b></p><p>  if(account !=NULL && pa

74、sCheck(account)){</p><p>  cout <<"\n 請輸入存款金額: ";</p><p>  cin >> money;</p><p>  account -> money += money;</p><p>  account

75、 -> record[account ->insert] += money;</p><p>  account ->insert ++;</p><p>  cout <<"\n 存款成功.\n";</p><p><b>  }</b></p>&

76、lt;p><b>  return 0;</b></p><p><b>  }</b></p><p>  int Bank::draMon(){</p><p>  double money = 0;</p><p>  Account* account = getAcoNum();<

77、;/p><p>  if(ps-> state == 0){</p><p>  cout << "\n 該賬戶已銷戶,不能繼續(xù)進(jìn)行取款";</p><p><b>  return 0;</b></p><p><b>  }</b>

78、</p><p>  if(account !=NULL && pasCheck(account)){</p><p>  cout <<"\n 請輸入取款金額: ";</p><p>  cin >> money;</p><p>  while

79、(money > account -> money) {</p><p>  int i = 0;</p><p>  cout <<"\n 余額不足!請輸重新入有效的取款金額: ";</p><p>  cin >> money;</p><p>  

80、if (i >= 3 && money > account ->money){</p><p>  cout <<"\n 金額輸入無效次數(shù)已超過"<< i <<"次,是否繼續(xù)輸入"</p><p>  <<"\n

81、 1.是 2.否 ";</p><p><b>  int j;</b></p><p><b>  cin >> j;</b></p><p>  if(j == 1)</p><p><b>  continue;<

82、/b></p><p>  if(j == 2){</p><p>  cout <<"\n 系統(tǒng)將自動跳轉(zhuǎn)至系統(tǒng)首頁\n";</p><p><b>  break;</b></p><p><b>  }</b></p&g

83、t;<p><b>  }</b></p><p><b>  i++;</b></p><p><b>  }</b></p><p>  account -> money -= money;</p><p>  account -> record[

84、account ->insert]-= money;</p><p>  //char * ctime(const time_t *timer); </p><p>  account ->insert ++;</p><p>  cout <<"\n 取款成功.\n";</p>

85、<p><b>  }</b></p><p><b>  return 0;</b></p><p><b>  }</b></p><p>  int Bank::cloAco(){</p><p>  Account* account = getAcoNum(

86、); </p><p><b>  int i;</b></p><p>  if(pasCheck(account)){</p><p>  cout <<"\n 請確定是否要銷戶(0銷戶,1不銷戶): ";</p><p><b> 

87、 cin >> i;</b></p><p>  if(i == 0){</p><p>  account -> state = 0;</p><p>  cout <<"\n 銷戶成功.\n";</p><p><b>  }</b

88、></p><p><b>  else</b></p><p>  cout <<"\n銷戶取消\n.";</p><p><b>  }</b></p><p><b>  return 0;</b></p><p&

89、gt;<b>  }</b></p><p>  int Bank::inquir(){</p><p>  Account* account = getAcoNum(); </p><p>  if(pasCheck(account)){</p><p>  cout <<"\n

90、 用戶名: "<< account -> name</p><p>  <<"\n 帳戶號: " << account -> acoNum</p><p>  <<"\n

91、 余額: "<< account -> money;</p><p>  if(account -> state == 1)</p><p>  cout <<"\n 用戶狀態(tài): "<<"正常\n";</p><p><

92、;b>  else</b></p><p>  cout <<"\n 用戶狀態(tài): "<<"銷戶\n";</p><p><b>  }</b></p><p><b>  return 0;</b>

93、;</p><p><b>  }</b></p><p>  Account* Bank::getAcoNum(){</p><p>  int acoNum;</p><p><b>  int i=0;</b></p><p>  cout <<"

94、\n 請輸入您的賬號: ";</p><p>  cin >> acoNum;</p><p>  ps = head;</p><p>  while(acoNum != ps -> acoNum){</p><p>  if(ps == pEnd &&am

95、p;ps -> right == pEnd && acoNum != ps -> acoNum){</p><p>  cout <<"\n 賬號輸入錯誤!請您重新輸入您的賬號:";</p><p>  cin >> acoNum;</p><p>  ps =

96、head;</p><p><b>  i ++;</b></p><p><b>  }</b></p><p>  ps = ps -> right;</p><p>  if (i==3&&acoNum != ps -> acoNum){</p>

97、<p><b>  int j;</b></p><p>  cout <<"\n 賬號輸入錯誤次數(shù)已超過"<< i <<"次,是否繼續(xù)輸入"</p><p>  <<"\n 1.是 2.否

98、 ";</p><p><b>  cin >> j;</b></p><p>  if(j == 1)</p><p><b>  continue;</b></p><p>  if(j == 2)</p><p>  return NU

99、LL;</p><p><b>  }</b></p><p><b>  } </b></p><p>  return ps;</p><p><b>  }</b></p><p>  bool Bank::pasCheck(Account* ac

100、count){</p><p>  string pasWord;</p><p><b>  int i;</b></p><p>  cout <<"\n 請輸入您的密碼: ";</p><p>  cin >> pasWord

101、 ;</p><p>  for( i=0; i<3; i ++){</p><p>  if(account -> passWord != pasWord) {</p><p>  cout <<"\n 密碼輸入錯誤!請您重新您的密碼: ";</p><p>

102、  cin >> pasWord ;</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  break;</b></p><p><b>  }</b></p><

103、;p><b>  if(i==3){</b></p><p>  cout <<"\n 密碼輸入錯誤次數(shù)已超過3次,系統(tǒng)將自動跳轉(zhuǎn)至系統(tǒng)首頁\n";</p><p>  return false; </p><p><b>  } </b></p&

104、gt;<p>  return true;</p><p><b>  }</b></p><p>  Bank::~Bank(){};</p><p>  // bankSystem.cpp : 定義控制臺應(yīng)用程序的入口點。</p><p>  //****************************

105、*****</p><p>  //****** bankSystem.cpp ***************</p><p>  //*********************************</p><p>  #include"stdafx.h"</p><p>  #include"iostr

106、eam"</p><p>  #include<string></p><p>  #include"Bank.h"</p><p>  int main()</p><p><b>  {</b></p><p>  Bank* bank = new

107、Bank();</p><p>  bank->bankEntrance();</p><p><b>  return 0;</b></p><p><b>  }</b></p><p>  //*********************************</p>&l

108、t;p>  //****** stdafx.h ***************</p><p>  //*********************************</p><p><b>  心得與體會</b></p><p>  此次的上機(jī)實驗,我所屬小組的項目是銀行管理系統(tǒng)。通過小組各成員的精確分工與合作關(guān)于本次實驗的

溫馨提示

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

評論

0/150

提交評論