版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> **學院</b></p><p><b> 課程設計說明書</b></p><p> ?。?012/2013學年第一學期)</p><p> 課程名稱 : 軟件程序設計 </p><p> 題 目 : 個人單詞簿軟件設計 <
2、/p><p> 專業(yè)班級 : </p><p> 學生姓名 : </p><p> 學 號: </p><p> 指導教師 : </p><p> 設計周數(shù) :
3、 </p><p> 設計成績 : </p><p> 2013年1月18日</p><p><b> 目錄</b></p><p> 1、課程設計目的…….……..........................................
4、..............................2</p><p> 2、系統(tǒng)的分析與設計..................... ......... ........... ... .................................2</p><p> 2.1需求分析……..........................................
5、............ ...............................2 </p><p> 2.1.1課設任務............……................................................................. 2</p><p> 2.1.2課設要求………………………………………………………..2</
6、p><p> 2.2系統(tǒng)的設計..........................................................................................3</p><p> 2.2.1 數(shù)據(jù)庫的分析與設計.......... ............. ....................... ...... ….. . 3&l
7、t;/p><p> 2.2.2邏輯層次的設計……..................................... ..... ............ ..... .. 3</p><p> 2.2.3 層序流層圖的設計.................................................... ................4</p>
8、<p> 2.3程序設計.................................................... ..........................................4</p><p> 2.3.1系統(tǒng)實施............................................................. ...........
9、...............4</p><p> 3、課程設計總結或結論.............................................................................13</p><p> 4、參考文獻..............................................................
10、...................................13</p><p> 5. 教師簽字及評語……..............................................................................14</p><p><b> 1、課程設計目的</b></p><p&
11、gt; (1)初步掌握使用C#工具設計一個具體實例的方法,包括軟件的設計,調試的全過程。</p><p> ?。?)通過本次設計掌握使用c#語言中窗體的建立,各個控件的使用,以及界面的設計。</p><p> (3)進一步鞏固所學的C#及數(shù)據(jù)庫的相關理論知識,提高分析和解決實際問題的能力。</p><p> 2、系統(tǒng)的分析與設計</p><
12、p> 本次課程設計我們小組做的是一個基于Visual studio 2005(C#) + SQL server 2000的個人單詞簿系統(tǒng),它包括個人單詞簿主界面和隨機考查、編輯界面?;究梢詫崿F(xiàn)單詞的錄入、測試、導出功能。并且可以自己管理詞庫,具有對詞庫表中詞匯做出適當?shù)奶砑印h除和修改的功能。</p><p><b> 2.1需求分析</b></p><p&g
13、t; 當今時代是信息化時代,而信息的數(shù)字化也越來越被人們所重視,所以,數(shù)字化技術的重要性也逐漸體現(xiàn)了出來, 詞典作為一種為大眾服務的工具書,已經漸漸退居二線了,進而出現(xiàn)了另一種查找方式更加簡便,更加精確,詞匯量更加豐富而且隨身攜帶更加方便的工具,那就是電子詞典,應該說這是一個新舊交替的過程,電子詞典取代傳統(tǒng)詞典只是時間的問題。 所以說電子詞典的發(fā)展前景是明朗的, 所以我們小組決定做一個符合用戶需求的小型個人電子詞典系統(tǒng)。</p&
14、gt;<p><b> 2.1.1課設任務</b></p><p> 1、根據(jù)技術要求和現(xiàn)有開發(fā)環(huán)境,分析課設題目; </p><p> 2、設計軟件方案。包括:軟件功能結構、各功能模塊的詳細描述、關鍵程序流程圖、數(shù)據(jù)庫中表的結構設計等; </p><p> 3、畫出系統(tǒng)總體結構圖、關鍵程序流程圖; </p>
15、<p> 4、設計系統(tǒng)界面,編制代碼,實現(xiàn)軟件的基本功能; </p><p> 5、調試、修改并完善程序; </p><p> 6、生成安裝程序,編寫軟件使用說明書(圖文結合進行描述);
16、 </p><p><b> 2.1.2課設要求</b></p><p> 1、生詞錄入、查詢功能; </p><p> 2、隨機考查用戶是否掌握了生詞,并根據(jù)掌握程度來計算是否以后還需繼續(xù)考查; </p><p><
17、b> 3、導出詞匯功能。</b></p><p><b> 2.2系統(tǒng)的設計</b></p><p> 2.2.1 數(shù)據(jù)庫的分析與設計</p><p> 表2-1 用戶基本信息表(T_Users)</p><p> 2.2.2邏輯層次的設計</p><p> 本次課設
18、的個人單詞簿軟件系統(tǒng)可以使用戶進行單詞的錄入、查詢、修改、刪除、隨機考查和導出等基本業(yè)務。</p><p> 個人單詞簿系統(tǒng)基本結構框圖如圖2-1所示:</p><p> 圖2-1 個人單詞簿系統(tǒng)的基本框圖</p><p> 2.2.3 層序流層圖的設計</p><p><b> 2.3程序設計</b><
19、/p><p> 用戶進入后, 可以看到主界面,可以根據(jù)自己的需要對單詞簿進行錄入、修改、刪除等,還可以考查自己對單詞的掌握情況以及將已掌握的單詞導出到文本文檔中。</p><p><b> 2.3.1系統(tǒng)實施</b></p><p> 本系統(tǒng)主要通過運用C#的Windows窗體的設計進行開發(fā)和實施,主要通過如下幾個功能模塊來完成系統(tǒng)的具體的實
20、施過程:</p><p> 用戶查詢界面窗體:通過查詢界面用戶可以對單詞簿進行查詢操作。其界面如圖2-3所示:</p><p><b> 圖2-3 查詢界面</b></p><p><b> 相關代碼如下:</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-4、圖2-5、圖2-6所示:</p><p> 圖2-4 錄入成功界面圖 2-5 錄入重復界面</p><p> 圖2-6 錄入為空界面</p><p><b> 其相關代碼如下:</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("添加失??!");</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> ?。?)編輯與導出窗體:在編輯窗體中用戶可以對單詞簿進行刪除、修改和導出的操作,其界面如圖2-7、圖2-8、圖2-9、圖2-10所示:</p><p>
31、圖2-7 編輯主界面 圖2-8 修改成功界面</p><p> 圖2-9 刪除界面 圖2-10 導出界面</p><p><b> 其相關代碼如下:</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, "要刪除這些信息嗎? ", "請確認", 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ù)進行連接 </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> ?。?)隨機考查窗體:用戶可以對自己錄入的單詞進行考察,單擊開始系統(tǒng)會自動從數(shù)據(jù)庫里提取單詞,如果回答
57、正確就會自動進行下一測試,如果錯誤會給出提醒,其界面如圖2-11和圖2-12所示:</p><p> 圖2-11 考查正確界面 圖2-12 考查錯誤界面</p><p><b> 其相關代碼如下:</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、課程設計總結或結論</p><p> 經過了近兩周的時間,利用C#.NET開發(fā)的個人單詞簿程序終于完成了。經過這次的課題的設計與實現(xiàn),盡管遇到了很多很多難題,但是我也在這次課程設計中得到了許多經驗、心得和鍛煉。這讓我發(fā)現(xiàn)編譯程序的過程其實就是不斷解決問題的過程,從中也感受到了編寫軟件的樂趣,在實際開發(fā)過程中仍然會遇到不少問題
69、,這時就要做到以下這兩點:一個是“查” ,另一個則是“問” 。同時也讓我體會到了無論何時都要以一個積極的心態(tài)去面對,心態(tài)決定一切,無論何時無論何地,我們都要保持一顆積極的心態(tài)去面對身邊每一件事。相信自己能行,不斷努力,我們就能做到,有希望就能成功。</p><p><b> 4、參考文獻</b></p><p> [1] 王振江等 C#課程設計案例精編
70、 中國水利水電出版社 2006.1</p><p> [2] 馬駿 C#網絡應用編程開發(fā)案例 人民郵電出版社 2008.3</p><p> 注:此表必須在同一頁面。</p><p><b> 軟件使用說明書</b></p><p> 1、打開軟件進入查詢界面,輸入要查詢的單詞點擊查詢即
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c_課程設計---模擬抽獎軟件設計
- c_課程設計—備忘錄軟件設計
- c_課程設計——自助取款機軟件設計
- c_課程設計—自動取款機模擬軟件設計
- c_課程設計—自動存取款機軟件設計
- c#課程設計—模擬抽獎軟件設計
- c-課程設計—模擬抽獎軟件設計
- c_課程設計游戲21點
- c_銀行叫號系統(tǒng)課程設計
- c_課程設計-俄羅斯方塊
- c_程序設計課程設計-- 在線留言
- 《軟件設計基礎(c++)》課程設計報告書
- 軟件設計模式課程設計
- c_課程設計——報刊訂閱管理系統(tǒng)
- c_語言課程設計---學生選課系統(tǒng)
- 課程設計---用c++語言設計個人帳薄管理系統(tǒng)
- c_文本編輯器課程設計
- c_課程設計-- 圖書館管理系統(tǒng)
- c_課程設計報告-- c#音樂播放器
- c_語言程序設計課程設計-- 記事本
評論
0/150
提交評論