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

下載本文檔

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

文檔簡介

1、<p><b>  課程設計說明書</b></p><p> ?。?012/2013學年第一學期)</p><p>  課程名稱 : 軟件程序設計 </p><p>  題 目 : 自動存取款機軟件設計 </p><p>  專業班級 : </p

2、><p>  學生姓名 : 放羊娃 </p><p>  學 號: </p><p>  指導教師 : </p><p>  設計周數 : 2周 </p><p>  設計成績 :

3、 </p><p>  2013年1月18日</p><p><b>  1 課程設計目的</b></p><p> ?。?)初步掌握使用C#工具設計一個具體實例的方法,包括軟件的設計,調試的全過程。</p><p> ?。?)通過本次設計掌握使用c#語言中窗體的建立,各個控件的

4、使用,以及界面的設計。</p><p> ?。?)進一步鞏固所學的C#及數據庫的相關理論知識,提高分析和解決實際問題的能力。</p><p><b>  2 課程的分析</b></p><p>  ATM自動取款機系統向用戶提供一個方便、簡單、及時、隨時隨地可以隨心所欲存取款的互聯的現代計算機化的網絡系統??梢源蟠鬁p少工作人員,節約人力資源的開

5、銷,同時由于手續程序減少也可以減輕業務員的工作負擔,有效地提高了整體的工作效率和精確度。 減少了用戶辦理業務的等待時間;用戶可以隨時隨地可以隨心所欲存取款,并且操作簡單易懂;用戶還可以選擇在柜臺辦理業務或自己在自動提款機和自動取款機辦理業務。</p><p><b>  2.1需求分析</b></p><p>  2.1.1 課設任務</p><p

6、> ?。?)根據技術要求和現有開發環境,分析題目</p><p><b> ?。?)選定設計方案</b></p><p> ?。?)畫出軟件框架結構圖,關鍵程序流程圖</p><p> ?。?)使用C#語言和.net框架,并結合數據庫,實現軟件</p><p> ?。?)調試,修改并完善程序</p>

7、<p>  2.1.2 課設要求</p><p> ?。?)模仿銀行ATM的運行界面。</p><p> ?。?)憑正確的卡號和密碼進入系統。</p><p> ?。?)實現取款,余額查詢,修改密碼,交費,轉賬,存款操作。</p><p><b>  2.2系統的設計</b></p><p&

8、gt; ?。?)輸入:用戶通過鍵盤進行輸入。</p><p> ?。?)性能:可使用戶在無任何經驗的情況下進行操作ATM自助式服務。</p><p> ?。?)功能方面:取款、查詢余額、修改密碼、存款、交費、轉賬。</p><p>  2.2.1 數據庫的分析與設計</p><p>  由自動提款機模擬軟件系統的需求分析可知,本系統應為win

9、dows應用窗體的設計,據提供的實驗環境及以前所學的理論知識,采用SQL數據庫,根據自動提款機模擬軟件的功能要求,在shuju數據庫中建立兩張表來存儲信息,分別為Table1和RecordIofo。</p><p>  Table1表中用來存儲用戶的卡號,密碼,用戶名,余額及用于卡號鎖定的字段</p><p>  用戶基本信息表(Table1)</p><p>  

10、recordIofo表中用于存儲用戶的卡號,用戶名,存取結余,主要用于數據庫的更新操作。</p><p>  用戶操作信息表(recordIofo)</p><p>  2.2.2 取款機邏輯層次設計</p><p>  本次課設的自動提款機模擬軟件系統可以使用戶進行登錄、取款、轉賬、查詢余額、修改密碼、存款和交費等基本業務。</p><p>

11、;  ATM系統基本結構框圖如圖2-1所示:</p><p><b>  2.3 程序設計</b></p><p>  用戶進入后,點擊用戶登錄進入登陸界面,在登錄窗口中輸入卡號和密碼,判斷卡號與密碼是否正確,若卡號與密碼正確則進入用戶操作界面,并根據用戶的相關操作給用戶提供相應的服務。若卡號與密碼不正確,彈出對話框提示用戶確認卡號和密碼錯誤后重新輸入,并對輸入錯誤次

12、數進行計數,若輸入密碼錯誤次數大于3次,則鎖定該帳號。</p><p>  2.3.1 程序流程圖</p><p>  2.3.2 窗體的具體實施和代碼</p><p> ?。?)用戶登陸窗體:通過登陸界面可以進行用戶的登陸過程,進而實現相應的用戶操作。即當用戶名與密碼都正確時用戶就可以登陸進行所需的操作。</p><p><b>

13、  代碼為:</b></p><p>  if ((mask1.Text.Trim() != ""))</p><p><b>  {</b></p><p>  string connString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataD

14、irectory|\shuju.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";</p><p>  SqlConnection conn = new SqlConnection(connString);</p><p>  conn.Open(); </p><p>

15、  string ssql = "select * from Table1 where kahao='" + mask1.Text.Trim() + "'";</p><p>  SqlCommand ccmd = new SqlCommand(ssql, conn);</p><p>  SqlDataReader dr1 = cc

16、md.ExecuteReader();</p><p>  if (dr1.Read())</p><p><b>  {</b></p><p>  dr1.Close();</p><p>  name = mask1.Text.Trim().ToString();</p><p>  str

17、ing isornot = "select lock from Table1 where kahao='" + mask1.Text.Trim().ToString() + "' ";</p><p>  SqlCommand cmd0 = new SqlCommand(isornot, conn);</p><p>  SqlDat

18、aReader drr = cmd0.ExecuteReader();</p><p>  if (drr.Read() && drr["lock"].ToString() == "1")</p><p><b>  {</b></p><p>  MessageBox.Show(&quo

19、t;您的帳號已被鎖定,請與銀行管理員聯系!");</p><p>  mask2.Text = "";</p><p>  mask1.Text = "";</p><p>  drr.Close();</p><p><b>  }</b></p><

20、;p><b>  else</b></p><p><b>  {</b></p><p>  drr.Close();</p><p>  string sql = "select * from Table1 where kahao='" + mask1.Text.Trim().ToSt

21、ring() + "'and mima='" + mask2.Text.Trim().ToString() + "'";</p><p>  SqlCommand cmd = new SqlCommand(sql, conn);</p><p>  SqlDataReader dr = cmd.ExecuteReader();

22、</p><p>  if (dr.Read())</p><p><b>  {</b></p><p>  mask1.Text = dr["kahao"].ToString();</p><p>  FrmMian frm = new FrmMian();</p><p>

23、;  frm.Show();</p><p>  this.Hide();</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  if (this.A++ <

24、; 2)</p><p><b>  {</b></p><p>  MessageBox.Show("您密碼不正確,請重新輸入!", "提示!", MessageBoxButtons.OK, MessageBoxIcon.Error);</p><p>  mask2.Text = "&quo

25、t;;</p><p>  mask1.Text = "";</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  dr.Close();&l

26、t;/p><p>  string sql1 = "update Table1 set lock='1' where kahao='" + name + "'";</p><p>  SqlCommand cmd1 = new SqlCommand(sql1, conn);</p><p>  if

27、 (cmd1.ExecuteNonQuery() == 1)</p><p><b>  {</b></p><p>  MessageBox.Show("您已經輸入超過三次,該帳號將被鎖定,請聯系銀行管理員!", "錯誤", MessageBoxButtons.OK, MessageBoxIcon.Error);</p&

28、gt;<p>  mask2.Text = "";</p><p>  mask1.Text = "";</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b>

29、</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  MessageBox.Show("

30、賬號不正確");</p><p><b>  }</b></p><p>  conn.Close();</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b

31、></p><p>  MessageBox.Show("請輸入卡號與密碼!", "警告?。。?!", MessageBoxButtons.OK, MessageBoxIcon.Warning);</p><p>  mask1.Text = "";</p><p>  mask2.Text = &qu

32、ot;";</p><p><b>  }</b></p><p> ?。?)存款窗體:通過該界面用戶可以從自己的賬戶中進行存款操作,但是存款的金額必須在規定范圍內且為100元的整數倍,否則無法進行操作。</p><p><b>  代碼為:</b></p><p>  string co

33、nnString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\shuju.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";</p><p>  SqlConnection conn = new SqlConnection(con

34、nString);</p><p>  conn.Open();</p><p>  string sql = "SELECT * FROM Table1 WHERE kahao='" + frmlo.name + "'";</p><p>  SqlCommand cmd = new SqlCommand(s

35、ql, conn);</p><p>  SqlDataReader dr = cmd.ExecuteReader();</p><p>  dr.Read();</p><p>  decimal jine = Convert.ToDecimal(dr[4]);</p><p>  decimal sqje = Convert.ToDeci

36、mal(textBox1.Text);</p><p>  string presentname = Convert.ToString(dr[4]);</p><p>  string cardid = "'" + frmlo.name + "'";</p><p>  decimal change = sqj

37、e;</p><p>  string time = Convert.ToString(DateTime.Now);</p><p>  dr.Close();</p><p>  if (sqje % 100 == 0)</p><p><b>  {</b></p><p>  Message

38、Box.Show("操作正在,請稍侯……");</p><p>  decimal leftmoney = jine + sqje;</p><p>  string ssql = "Update Table1 set yue = '" + leftmoney + "' where kahao ='" +

39、 frmlo.name + "'";</p><p>  SqlCommand ccmd = new SqlCommand(ssql, conn);</p><p>  cunkuang frm = new cunkuang();</p><p>  frm.Show();</p><p>  this.Hide(

40、);</p><p>  textBox1.Text = "";</p><p>  int i = ccmd.ExecuteNonQuery();</p><p>  if (i == 1)</p><p><b>  {</b></p><p>  textBox1.Tex

41、t = "";</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  MessageBox.Show("操作失敗,請重試!", "提示:

42、", MessageBoxButtons.OK, MessageBoxIcon.Error);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {<

43、;/b></p><p>  MessageBox.Show("本機只提供以百元為單位的金額,請正確輸入金額!");</p><p>  textBox1.Text = "";</p><p><b>  } </b></p><p><b>  }</b&

44、gt;</p><p> ?。?)取款窗體:通過該界面用戶可以從自己的賬戶中進行取款操作,但是取款的金額必須在規定范圍內且為100元的整數倍,否則無法進行操作。</p><p><b>  代碼為:</b></p><p>  string connString = @"Data Source=.\SQLEXPRESS;AttachD

45、bFilename=|DataDirectory|\shuju.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";</p><p>  SqlConnection conn = new SqlConnection(connString);</p><p>  conn.Open(); </

46、p><p>  string sql = "SELECT * FROM Table1 WHERE kahao='" + frmlo.name + "'";</p><p>  SqlCommand cmd = new SqlCommand(sql, conn);</p><p>  SqlDataReader dr

47、 = cmd.ExecuteReader();</p><p>  dr.Read();</p><p>  decimal jine = Convert.ToDecimal(dr[4]);</p><p>  decimal sqje = Convert.ToDecimal(txt1.Text);</p><p>  decimal cha

48、nge = sqje;</p><p>  string presentname = Convert.ToString(dr[1]);</p><p>  string time = Convert.ToString(DateTime.Now);</p><p>  dr.Close();</p><p>  if (jine >= s

49、qje)</p><p><b>  {</b></p><p>  if (sqje % 100 == 0)</p><p><b>  {</b></p><p>  MessageBox.Show("請在30秒內取款……");</p><p>  d

50、ecimal leftmoney = jine - sqje;</p><p>  string ssql = "Update Table1 set yue = '" + leftmoney + "' where kahao ='" + frmlo.name + "'";</p><p>  Sq

51、lCommand ccmd = new SqlCommand(ssql, conn);</p><p>  draw frm = new draw();</p><p>  frm.Show();</p><p>  this.Hide();</p><p>  int i = ccmd.ExecuteNonQuery();</p>

52、;<p>  if (i == 1)</p><p><b>  {</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>

53、;  MessageBox.Show("操作失敗,請重試!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  

54、else</b></p><p><b>  {</b></p><p>  MessageBox.Show("本機只提供以百元為單位的金額,請正確輸入金額!");</p><p>  txt1.Text = "";</p><p><b>  }</b

55、></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  MessageBox.Show("您的余額不足!");</p><p>  t

56、xt1.Text = "";</p><p><b>  }</b></p><p>  conn.Close();</p><p>  (4)交費窗體:通過該界面用戶可以進行交費。</p><p><b>  代碼為:</b></p><p>  str

57、ing connString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\shuju.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";</p><p>  SqlConnection conn = new SqlConnecti

58、on(connString);</p><p>  conn.Open();</p><p>  string sql = "SELECT * FROM Table1 WHERE kahao='" + frmlo.name + "'";</p><p>  SqlCommand cmd = new SqlCom

59、mand(sql, conn);</p><p>  SqlDataReader dr = cmd.ExecuteReader();</p><p>  dr.Read();</p><p>  decimal jine = Convert.ToDecimal(dr[4]);</p><p>  decimal sqje = Convert.

60、ToDecimal(textBox1.Text);</p><p>  string presentname = Convert.ToString(dr[4]);</p><p>  string cardid = "'" + frmlo.name + "'";</p><p>  decimal change

61、 = sqje;</p><p>  string time = Convert.ToString(DateTime.Now);</p><p>  dr.Close();</p><p>  if (jine >= sqje)</p><p><b>  {</b></p><p>  M

62、essageBox.Show("操作正在,請稍侯……");</p><p>  decimal leftmoney = jine - sqje;</p><p>  string ssql = "Update Table1 set yue = '" + leftmoney + "' where kahao ='&q

63、uot; + frmlo.name + "'";</p><p>  SqlCommand ccmd = new SqlCommand(ssql, conn);</p><p>  MessageBox.Show("交費成功!");</p><p>  textBox1.Text = "";<

64、/p><p>  int i = ccmd.ExecuteNonQuery();</p><p>  if (i == 1)</p><p><b>  {</b></p><p>  textBox1.Text = "";</p><p><b>  }</b&g

65、t;</p><p><b>  else</b></p><p><b>  {</b></p><p>  MessageBox.Show("操作失敗,請重試!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Error);</p

66、><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  MessageBox.Show(" 您的余額不

67、足!");</p><p>  textBox1.Text = "";</p><p><b>  } </b></p><p><b>  }</b></p><p> ?。?)轉賬窗體:通過該界面用戶可以給除自己外的其他賬戶進行轉賬。</p><

68、;p><b>  代碼為:</b></p><p>  string connString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\shuju.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";&l

69、t;/p><p>  SqlConnection conn = new SqlConnection(connString);</p><p>  conn.Open();</p><p>  string sql = "SELECT * FROM Table1 WHERE kahao='" + frmlo.name + "'

70、";</p><p>  SqlCommand cmd = new SqlCommand(sql, conn);</p><p>  SqlDataReader dr = cmd.ExecuteReader();</p><p>  dr.Read();</p><p>  decimal jine = Convert.ToDeci

71、mal(dr[4]);</p><p>  string wo = Convert.ToString(dr[1]);</p><p>  decimal sqje = Convert.ToDecimal(text2.Text);</p><p>  dr.Close();</p><p>  if (jine >= sqje)</

72、p><p><b>  {</b></p><p>  MessageBox.Show("正在操作,請稍侯……");</p><p>  decimal leftmoney = jine - sqje;</p><p>  string ssql = "Update Table1 set yue

73、 = '" + leftmoney + "' where kahao ='" + frmlo.name + "'";</p><p>  SqlCommand ccmd = new SqlCommand(ssql, conn);</p><p>  int i = ccmd.ExecuteNonQuery(

74、);</p><p>  if (i == 1)</p><p><b>  {</b></p><p>  string sqql = "select * from Table1 where kahao='" + maske1.Text.Trim() + "'";</p>

75、<p>  SqlCommand cmdd = new SqlCommand(sqql, conn);</p><p>  SqlDataReader drr = cmdd.ExecuteReader();</p><p>  if (drr.Read())</p><p><b>  {</b></p><p&g

76、t;  decimal je = Convert.ToDecimal(drr[4]);</p><p>  string presentname = wo;</p><p>  string cardid = "'" + frmlo.name + "'";</p><p>  decimal change =

77、sqje;</p><p>  string time = Convert.ToString(DateTime.Now);</p><p>  je = je + sqje;</p><p>  drr.Close();</p><p>  string sqql1 = "Update Table1 set yue='&qu

78、ot; + je + "'where kahao='" + maske1.Text.Trim() + "'";</p><p>  SqlCommand cmmdd = new SqlCommand(sqql1, conn);</p><p>  int n = cmmdd.ExecuteNonQuery();</p&g

79、t;<p>  if (n == 1)</p><p><b>  {</b></p><p>  MessageBox.Show("轉賬成功!");</p><p>  maske1.Text = "";</p><p>  text2.Text = "&

80、quot;;</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  MessageBox.Show("轉賬失??!");</p><p>  m

81、aske1.Text = "";</p><p>  text2.Text = "";</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p>&

82、lt;p><b>  {</b></p><p>  MessageBox.Show("操作失敗,請重試!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Error);</p><p><b>  }</b></p><p><

83、;b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  MessageBox.Show("操作失敗,請重試!", "提示:", MessageBoxButtons.OK, MessageBoxI

84、con.Error);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  MessageBox.

85、Show("您的余額不足,請重新輸入金額!");</p><p>  text2.Text = "";</p><p><b>  }</b></p><p>  conn.Close();</p><p> ?。?)查詢余額窗體:在業務類型窗體上點擊余額查詢,可查詢當前用戶銀行卡

86、上的可用余額。</p><p><b>  代碼為:</b></p><p>  string connString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\shuju.mdf;Integrated Security=True;Connect Timeout=30;User

87、Instance=True";</p><p>  SqlConnection conn = new SqlConnection(connString);</p><p>  conn.Open();</p><p>  string sql = "select yue from Table1 where kahao='" +

88、frmlo.name + "'";</p><p>  SqlCommand cmd = new SqlCommand(sql, conn);</p><p>  SqlDataReader dr = cmd.ExecuteReader();</p><p>  dr.Read();</p><p>  label

89、2.Text = dr["yue"].ToString().Trim();</p><p> ?。?)修改密碼窗體:通過該界面用戶可以給自己的賬戶進行修改密碼的操作,兩次輸入的新密碼一樣將修改成功,否則將失敗。</p><p>  代碼為:if (maskedTextBox2.Text.Trim() == maskedTextBox3.Text.Trim())</

90、p><p><b>  {</b></p><p>  string connString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\shuju.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True&q

91、uot;;</p><p>  SqlConnection conn = new SqlConnection(connString);</p><p>  conn.Open();</p><p>  string sql = "update Table1 set mima='" +maskedTextBox2.Text.Trim()+

92、"'where kahao='" + frmlo.name + "'";</p><p>  SqlCommand cmd = new SqlCommand(sql, conn);</p><p>  int i = cmd.ExecuteNonQuery();</p><p>  if (i ==

93、1)</p><p><b>  {</b></p><p>  MessageBox.Show("密碼修改成功!");</p><p><b>  }</b></p><p><b>  else</b></p><p><b

94、>  {</b></p><p>  MessageBox.Show("密碼修改失??!");</p><p><b>  }</b></p><p>  conn.Close();</p><p><b>  }</b></p><p>

95、<b>  else</b></p><p><b>  {</b></p><p>  MessageBox.Show("兩次密碼不一致!");</p><p><b>  }</b></p><p><b>  3 課程設計總結</b&g

96、t;</p><p>  兩周的課程設計很快就過完了,從中我學到了用C#制作簡單的軟件,在這幾天我從中收獲了快樂還有同學們之間的幫助。這讓我很喜歡這樣的學習氛圍。體會到了如論何時都要以一個積極的心態去面對,心態決定一切,無論何時無論何地,我們都要保持一顆積極的心態去面對身邊每一件事。</p><p><b>  4 參考文獻</b></p><p&

溫馨提示

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

評論

0/150

提交評論