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

下載本文檔

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

文檔簡介

1、<p><b>  **學(xué)院</b></p><p><b>  課程設(shè)計說明書</b></p><p> ?。?012/2013學(xué)年第一學(xué)期)</p><p>  課程名稱 : 軟件程序設(shè)計 </p><p>  題 目 : 個人單詞簿軟件設(shè)計 <

2、/p><p>  專業(yè)班級 : </p><p>  學(xué)生姓名 : </p><p>  學(xué) 號: </p><p>  指導(dǎo)教師 : </p><p>  設(shè)計周數(shù) :

3、 </p><p>  設(shè)計成績 : </p><p>  2013年1月18日</p><p><b>  目錄</b></p><p>  1、課程設(shè)計目的…….……..........................................

4、..............................2</p><p>  2、系統(tǒng)的分析與設(shè)計..................... ......... ........... ... .................................2</p><p>  2.1需求分析……..........................................

5、............ ...............................2 </p><p>  2.1.1課設(shè)任務(wù)............……................................................................. 2</p><p>  2.1.2課設(shè)要求………………………………………………………..2</

6、p><p>  2.2系統(tǒng)的設(shè)計..........................................................................................3</p><p>  2.2.1 數(shù)據(jù)庫的分析與設(shè)計.......... ............. ....................... ...... ….. . 3&l

7、t;/p><p>  2.2.2邏輯層次的設(shè)計……..................................... ..... ............ ..... .. 3</p><p>  2.2.3 層序流層圖的設(shè)計.................................................... ................4</p>

8、<p>  2.3程序設(shè)計.................................................... ..........................................4</p><p>  2.3.1系統(tǒng)實施............................................................. ...........

9、...............4</p><p>  3、課程設(shè)計總結(jié)或結(jié)論.............................................................................13</p><p>  4、參考文獻(xiàn)..............................................................

10、...................................13</p><p>  5. 教師簽字及評語……..............................................................................14</p><p><b>  1、課程設(shè)計目的</b></p><p&

11、gt; ?。?)初步掌握使用C#工具設(shè)計一個具體實例的方法,包括軟件的設(shè)計,調(diào)試的全過程。</p><p> ?。?)通過本次設(shè)計掌握使用c#語言中窗體的建立,各個控件的使用,以及界面的設(shè)計。</p><p> ?。?)進(jìn)一步鞏固所學(xué)的C#及數(shù)據(jù)庫的相關(guān)理論知識,提高分析和解決實際問題的能力。</p><p>  2、系統(tǒng)的分析與設(shè)計</p><

12、p>  本次課程設(shè)計我們小組做的是一個基于Visual studio 2005(C#) + SQL server 2000的個人單詞簿系統(tǒng),它包括個人單詞簿主界面和隨機(jī)考查、編輯界面?;究梢詫崿F(xiàn)單詞的錄入、測試、導(dǎo)出功能。并且可以自己管理詞庫,具有對詞庫表中詞匯做出適當(dāng)?shù)奶砑?、刪除和修改的功能。</p><p><b>  2.1需求分析</b></p><p&g

13、t;  當(dāng)今時代是信息化時代,而信息的數(shù)字化也越來越被人們所重視,所以,數(shù)字化技術(shù)的重要性也逐漸體現(xiàn)了出來, 詞典作為一種為大眾服務(wù)的工具書,已經(jīng)漸漸退居二線了,進(jìn)而出現(xiàn)了另一種查找方式更加簡便,更加精確,詞匯量更加豐富而且隨身攜帶更加方便的工具,那就是電子詞典,應(yīng)該說這是一個新舊交替的過程,電子詞典取代傳統(tǒng)詞典只是時間的問題。 所以說電子詞典的發(fā)展前景是明朗的, 所以我們小組決定做一個符合用戶需求的小型個人電子詞典系統(tǒng)。</p&

14、gt;<p><b>  2.1.1課設(shè)任務(wù)</b></p><p>  1、根據(jù)技術(shù)要求和現(xiàn)有開發(fā)環(huán)境,分析課設(shè)題目; </p><p>  2、設(shè)計軟件方案。包括:軟件功能結(jié)構(gòu)、各功能模塊的詳細(xì)描述、關(guān)鍵程序流程圖、數(shù)據(jù)庫中表的結(jié)構(gòu)設(shè)計等; </p><p>  3、畫出系統(tǒng)總體結(jié)構(gòu)圖、關(guān)鍵程序流程圖; </p>

15、<p>  4、設(shè)計系統(tǒng)界面,編制代碼,實現(xiàn)軟件的基本功能; </p><p>  5、調(diào)試、修改并完善程序; </p><p>  6、生成安裝程序,編寫軟件使用說明書(圖文結(jié)合進(jìn)行描述);

16、 </p><p><b>  2.1.2課設(shè)要求</b></p><p>  1、生詞錄入、查詢功能; </p><p>  2、隨機(jī)考查用戶是否掌握了生詞,并根據(jù)掌握程度來計算是否以后還需繼續(xù)考查;         </p><p><

17、b>  3、導(dǎo)出詞匯功能。</b></p><p><b>  2.2系統(tǒng)的設(shè)計</b></p><p>  2.2.1 數(shù)據(jù)庫的分析與設(shè)計</p><p>  表2-1 用戶基本信息表(T_Users)</p><p>  2.2.2邏輯層次的設(shè)計</p><p>  本次課設(shè)

18、的個人單詞簿軟件系統(tǒng)可以使用戶進(jìn)行單詞的錄入、查詢、修改、刪除、隨機(jī)考查和導(dǎo)出等基本業(yè)務(wù)。</p><p>  個人單詞簿系統(tǒng)基本結(jié)構(gòu)框圖如圖2-1所示:</p><p>  圖2-1 個人單詞簿系統(tǒng)的基本框圖</p><p>  2.2.3 層序流層圖的設(shè)計</p><p><b>  2.3程序設(shè)計</b><

19、/p><p>  用戶進(jìn)入后, 可以看到主界面,可以根據(jù)自己的需要對單詞簿進(jìn)行錄入、修改、刪除等,還可以考查自己對單詞的掌握情況以及將已掌握的單詞導(dǎo)出到文本文檔中。</p><p><b>  2.3.1系統(tǒng)實施</b></p><p>  本系統(tǒng)主要通過運用C#的Windows窗體的設(shè)計進(jìn)行開發(fā)和實施,主要通過如下幾個功能模塊來完成系統(tǒng)的具體的實

20、施過程:</p><p>  用戶查詢界面窗體:通過查詢界面用戶可以對單詞簿進(jìn)行查詢操作。其界面如圖2-3所示:</p><p><b>  圖2-3 查詢界面</b></p><p><b>  相關(guān)代碼如下:</b></p><p>  private void button1_Click(ob

21、ject sender, EventArgs e)</p><p><b>  {</b></p><p>  string sql = "select word as 單詞,jieshi as 解a釋 from Table1 where word like'%" +</p><p>  textBox1.Text.

22、Trim() + "%'";</p><p>  ds = OperateDB.ExcuteDataSet(sql);</p><p>  dataGridView1.DataSource = ds.Tables[0].DefaultView;</p><p><b>  }</b></p><p

23、>  (2)生詞錄入窗體:通過該界面用戶可以把生詞和解釋錄入到單詞簿內(nèi),其界面如圖2-4、圖2-5、圖2-6所示:</p><p>  圖2-4 錄入成功界面圖 2-5 錄入重復(fù)界面</p><p>  圖2-6 錄入為空界面</p><p><b>  其相關(guān)代碼如下:</b>

24、</p><p>  private void button3_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  if (textBox2.Text.Trim().Length != 0)</p><p><b>  {</b&

25、gt;</p><p>  string sql = "insert into Table1(word,jieshi)Values('"</p><p>  + textBox2.Text + "','" + textBox5.Text.Trim() + "')";</p><p

26、><b>  try</b></p><p><b>  {</b></p><p>  if (OperateDB.ExecuteNonQuery(sql) == 1)</p><p><b>  {</b></p><p>  MessageBox.Show(&quo

27、t;添加成功!");</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  MessageBox.Show("添加失?。?quot;);</p><

28、;p><b>  }</b></p><p><b>  }</b></p><p><b>  catch</b></p><p><b>  {</b></p><p>  MessageBox.Show("錄入失敗,此單詞已被錄入!&

29、quot;);</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><b>  }</b></p><p> ?。?)編輯與導(dǎo)出窗體:在編輯窗體中用戶可以對單詞簿進(jìn)行刪除、修改和導(dǎo)出的操作,其界面如圖2-7、圖2-8、圖2-9、圖2-10所示:</p><p>  

31、圖2-7 編輯主界面 圖2-8 修改成功界面</p><p>  圖2-9 刪除界面 圖2-10 導(dǎo)出界面</p><p><b>  其相關(guān)代碼如下:</b></p><p>  private void button5_C

32、lick(object sender, EventArgs e)</p><p><b>  {</b></p><p>  Form2 frm = new Form2();</p><p>  frm.Show();</p><p><b>  } </b></p><p&g

33、t;  private void button1_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  SqlCommandBuilder cb = new SqlCommandBuilder(da);</p><p>  da.Update(ds);</p>

34、<p>  MessageBox.Show("修改成功!");</p><p><b>  }</b></p><p>  private void button2_Click(object sender, EventArgs e)</p><p><b>  {</b></p>

35、;<p>  DialogResult dlResult = MessageBox.Show(this, "要刪除這些信息嗎? ", "請確認(rèn)", MessageBoxButtons.YesNo, MessageBoxIcon.Question);</p><p>  if (dlResult == DialogResult.Yes)</p>&

36、lt;p><b>  {</b></p><p>  int j = Fordve.SelectedRows.Count;</p><p>  int[] l = new int[j];</p><p><b>  int i;</b></p><p>  for (i = 0; i <

37、 j; i++)</p><p><b>  {</b></p><p>  l[i] = Fordve.SelectedRows[i].Index;</p><p><b>  }</b></p><p>  int k = 0;</p><p>  while (k &l

38、t; j)</p><p><b>  {</b></p><p>  ds.Tables[0].Rows[l[k]].Delete();</p><p><b>  k++;</b></p><p><b>  }</b></p><p>  SqlC

39、ommandBuilder cb = new SqlCommandBuilder(da);</p><p>  da.Update(ds);</p><p><b>  }</b></p><p><b>  }</b></p><p>  private void Form2_Load(objec

40、t sender, EventArgs e)</p><p><b>  {</b></p><p>  BindData();</p><p><b>  }</b></p><p>  SqlDataAdapter da = new SqlDataAdapter();</p>&l

41、t;p>  DataSet ds = new DataSet();</p><p>  /// <summary></p><p><b>  /// 數(shù)據(jù)綁定</b></p><p>  /// </summary></p><p>  void BindData()</p>

42、<p><b>  {</b></p><p>  string sql = "select word as 單詞,jieshi as 解釋from Table1";</p><p>  SqlConnection conn = new SqlConnection(OperateDB.ConnString);</p>&l

43、t;p>  conn.Open();</p><p>  SqlCommand cmd = new SqlCommand(sql, conn);</p><p>  da.SelectCommand = cmd;</p><p>  da.Fill(ds);</p><p>  Fordve.DataSource = ds.Tables

44、[0];</p><p>  conn.Close();</p><p><b>  }</b></p><p>  SqlConnection conn = new SqlConnection(OperateDB.ConnString);</p><p>  Save save = new Save();</p&

45、gt;<p>  private void button1_Click_1(object sender, EventArgs e)</p><p><b>  {</b></p><p>  //radioChecked();</p><p>  //Class1.CheckOut(Fordve);</p><

46、p><b>  try</b></p><p><b>  {</b></p><p>  // SqlConnection conn = new SqlConnection(ConnString);//建立連接</p><p>  conn.Open();</p><p>  //異常處理

47、 </p><p>  StreamWriter write = new StreamWriter(@"F:\danci.txt", false, Encoding.Default);</p><p>  //streamwrite實例化</p><p>  SqlCommand comm = new SqlComm

48、and();</p><p>  //command對?象實例化 </p><p>  string splice;//將讀出的數(shù)據(jù)進(jìn)行連接 </p><p>  comm.Connection = conn;</p><p>  comm.CommandType = Comma

49、ndType.Text;</p><p>  //comm.CommandText = "select count(DanCi) from Infodanci";</p><p>  // int i = Convert.ToInt32(comm.ExecuteScalar());</p><p>  comm.CommandText = &qu

50、ot;select * from Table1";//執(zhí)行Dsql語句? </p><p>  if (comm.ExecuteScalar() == null)</p><p><b>  {</b></p><p>  MessageBox.Show("數(shù)據(jù)庫無數(shù)據(jù)無法寫入到文本中&quo

51、t;);</p><p><b>  }</b></p><p>  SqlDataReader Read = comm.ExecuteReader();//建立dqldatareader </p><p>  while (Read.Read())</p><p><b>  

52、{</b></p><p><b>  // int j;</b></p><p>  //將數(shù)據(jù)從數(shù)據(jù)庫讀出 </p><p>  // for (j = 0; j < i; j++)</p><p><b>  // {</b></p><p>  s

53、plice = Read[0].ToString().Trim()+" " + '\t' + Read[1].ToString().Trim();// + '\t' + Read[5].ToString() + '\t' + Read[6].ToString();</p><p>  write.WriteLine(splice);//將數(shù)據(jù)寫

54、入txt文檔中</p><p><b>  // }</b></p><p>  write.Flush();//清空緩存區(qū) </p><p><b>  }</b></p><p>  MessageBox.Show("詞匯已生成!");</p><p&

55、gt;  Read.Close();</p><p>  conn.Close();</p><p><b>  }</b></p><p>  catch (Exception err)</p><p><b>  {</b></p><p>  //捕獲異常

56、 </p><p>  MessageBox.Show(err.Message);</p><p><b>  }</b></p><p><b>  }</b></p><p> ?。?)隨機(jī)考查窗體:用戶可以對自己錄入的單詞進(jìn)行考察,單擊開始系統(tǒng)會自動從數(shù)據(jù)庫里提取單詞,如果回答

57、正確就會自動進(jìn)行下一測試,如果錯誤會給出提醒,其界面如圖2-11和圖2-12所示:</p><p>  圖2-11 考查正確界面 圖2-12 考查錯誤界面</p><p><b>  其相關(guān)代碼如下:</b></p><p>  delegate void MyDele();</p>

58、<p>  string hanyi;</p><p>  private void button2_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  MyDele dele = new MyDele(kaocha);</p><p&

59、gt;  dele.Invoke();</p><p><b>  }</b></p><p>  public void kaocha()</p><p><b>  {</b></p><p>  string sql = "select Top 1 word, jieshi from

60、 Table1 order by newid()";</p><p>  SqlConnection con = new SqlConnection(OperateDB.ConnString);</p><p>  SqlCommand cmd = new SqlCommand(sql, con);</p><p>  con.Open();</

61、p><p>  SqlDataReader dr = cmd.ExecuteReader();</p><p>  while (dr.Read())</p><p><b>  {</b></p><p>  label1.Text = "單詞" + (string)dr["word"

62、;].ToString().Trim();</p><p>  hanyi = (string)dr["jieshi"].ToString().Trim();</p><p><b>  }</b></p><p>  con.Close();</p><p><b>  }</b&g

63、t;</p><p>  private void button3_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  //hanyi.capacity(50);</p><p>  if (hanyi == textBox1.Text)<

64、/p><p><b>  {</b></p><p>  MessageBox.Show("答案正確!", "提示");</p><p>  MyDele delee = new MyDele(kaocha);</p><p>  delee.Invoke();</p>

65、<p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  if (MessageBox.Show("答案錯誤!是否繼續(xù)?", "提示", MessageBoxButtons

66、.YesNo, MessageBoxIcon.Error) == DialogResult.Yes)</p><p><b>  {</b></p><p>  MyDele delee = new MyDele(kaocha);</p><p>  delee.Invoke();</p><p><b>  

67、}</b></p><p><b>  }</b></p><p>  textBox1.Text = "";</p><p><b>  }</b></p><p> ?。?)軟件說明窗體:對本軟件的簡單介紹,其界面如圖2-13所示:</p><

68、p>  圖2-13 軟件說明界面</p><p>  3、課程設(shè)計總結(jié)或結(jié)論</p><p>  經(jīng)過了近兩周的時間,利用C#.NET開發(fā)的個人單詞簿程序終于完成了。經(jīng)過這次的課題的設(shè)計與實現(xiàn),盡管遇到了很多很多難題,但是我也在這次課程設(shè)計中得到了許多經(jīng)驗、心得和鍛煉。這讓我發(fā)現(xiàn)編譯程序的過程其實就是不斷解決問題的過程,從中也感受到了編寫軟件的樂趣,在實際開發(fā)過程中仍然會遇到不少問題

69、,這時就要做到以下這兩點:一個是“查” ,另一個則是“問” 。同時也讓我體會到了無論何時都要以一個積極的心態(tài)去面對,心態(tài)決定一切,無論何時無論何地,我們都要保持一顆積極的心態(tài)去面對身邊每一件事。相信自己能行,不斷努力,我們就能做到,有希望就能成功。</p><p><b>  4、參考文獻(xiàn)</b></p><p>  [1] 王振江等 C#課程設(shè)計案例精編

70、 中國水利水電出版社 2006.1</p><p>  [2] 馬駿 C#網(wǎng)絡(luò)應(yīng)用編程開發(fā)案例 人民郵電出版社 2008.3</p><p>  注:此表必須在同一頁面。</p><p><b>  軟件使用說明書</b></p><p>  1、打開軟件進(jì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

提交評論