C#課程設(shè)計(jì)—個(gè)人單詞薄軟件設(shè)計(jì)_第1頁(yè)
C#課程設(shè)計(jì)—個(gè)人單詞薄軟件設(shè)計(jì)_第2頁(yè)
C#課程設(shè)計(jì)—個(gè)人單詞薄軟件設(shè)計(jì)_第3頁(yè)
C#課程設(shè)計(jì)—個(gè)人單詞薄軟件設(shè)計(jì)_第4頁(yè)
C#課程設(shè)計(jì)—個(gè)人單詞薄軟件設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 *學(xué)院課程設(shè)計(jì)說明書(2012/2013學(xué)年第一學(xué)期)課程名稱 : 軟件程序設(shè)計(jì) 題 目 : 個(gè)人單詞簿軟件設(shè)計(jì) 專業(yè)班級(jí) : 學(xué)生姓名 : 放羊娃 學(xué) 號(hào): 指導(dǎo)教師 : 設(shè)計(jì)周數(shù) : 2周 設(shè)計(jì)成績(jī) : 2013年1月18日目錄1、課程設(shè)計(jì)目的.22、系統(tǒng)的分析與設(shè)計(jì). . . . .2 2.1需求分析. .2 2.1.1課設(shè)任務(wù). 2 2.1.2課設(shè)要求.2 2.2系統(tǒng)的設(shè)計(jì).3 2.2.1 數(shù)據(jù)庫(kù)的分析與設(shè)計(jì). . . . . . 3 2.2.2邏輯層次的設(shè)計(jì). . . . . 3 2.2.3 層序流層圖的設(shè)計(jì). .4 2.3程序設(shè)計(jì). .42.3.1系統(tǒng)實(shí)施. .43、課程設(shè)計(jì)總結(jié)

2、或結(jié)論.134、參考文獻(xiàn).135. 教師簽字及評(píng)語(yǔ).141、課程設(shè)計(jì)目的(1)初步掌握使用C#工具設(shè)計(jì)一個(gè)具體實(shí)例的方法,包括軟件的設(shè)計(jì),調(diào)試的全過程。(2)通過本次設(shè)計(jì)掌握使用c#語(yǔ)言中窗體的建立,各個(gè)控件的使用,以及界面的設(shè)計(jì)。(3)進(jìn)一步鞏固所學(xué)的C#及數(shù)據(jù)庫(kù)的相關(guān)理論知識(shí),提高分析和解決實(shí)際問題的能力。2、系統(tǒng)的分析與設(shè)計(jì)本次課程設(shè)計(jì)我們小組做的是一個(gè)基于Visual studio 2005(C#) + SQL server 2000的個(gè)人單詞簿系統(tǒng),它包括個(gè)人單詞簿主界面和隨機(jī)考查、編輯界面?;究梢詫?shí)現(xiàn)單詞的錄入、測(cè)試、導(dǎo)出功能。并且可以自己管理詞庫(kù),具有對(duì)詞庫(kù)表中詞匯做出適當(dāng)?shù)奶?/p>

3、加、刪除和修改的功能。2.1需求分析當(dāng)今時(shí)代是信息化時(shí)代,而信息的數(shù)字化也越來越被人們所重視,所以,數(shù)字化技術(shù)的重要性也逐漸體現(xiàn)了出來, 詞典作為一種為大眾服務(wù)的工具書,已經(jīng)漸漸退居二線了,進(jìn)而出現(xiàn)了另一種查找方式更加簡(jiǎn)便,更加精確,詞匯量更加豐富而且隨身攜帶更加方便的工具,那就是電子詞典,應(yīng)該說這是一個(gè)新舊交替的過程,電子詞典取代傳統(tǒng)詞典只是時(shí)間的問題。 所以說電子詞典的發(fā)展前景是明朗的, 所以我們小組決定做一個(gè)符合用戶需求的小型個(gè)人電子詞典系統(tǒng)。2.1.1課設(shè)任務(wù)1、根據(jù)技術(shù)要求和現(xiàn)有開發(fā)環(huán)境,分析課設(shè)題目; 2、設(shè)計(jì)軟件方案。包括:軟件功能結(jié)構(gòu)、各功能模塊的詳細(xì)描述、關(guān)鍵程序流程圖、數(shù)據(jù)

4、庫(kù)中表的結(jié)構(gòu)設(shè)計(jì)等; 3、畫出系統(tǒng)總體結(jié)構(gòu)圖、關(guān)鍵程序流程圖; 4、設(shè)計(jì)系統(tǒng)界面,編制代碼,實(shí)現(xiàn)軟件的基本功能; 5、調(diào)試、修改并完善程序; 6、生成安裝程序,編寫軟件使用說明書(圖文結(jié)合進(jìn)行描述); 2.1.2課設(shè)要求1、生詞錄入、查詢功能; 2、隨機(jī)考查用戶是否掌握了生詞,并根據(jù)掌握程度來計(jì)算是否以后還需繼續(xù)考查; 3、導(dǎo)出詞匯功能。2.2系統(tǒng)的設(shè)計(jì)2.2.1 數(shù)據(jù)庫(kù)的分析與設(shè)計(jì)表2-1 用戶基本信息表(T_Users)列名數(shù)據(jù)類型長(zhǎng)度允許為空是否為主鍵說明wordnvarchar20否是單詞jieshinvarchar20是否解釋2.2.2邏輯層次的設(shè)計(jì)本次課設(shè)的個(gè)人單詞簿軟件系統(tǒng)可以使

5、用戶進(jìn)行單詞的錄入、查詢、修改、刪除、隨機(jī)考查和導(dǎo)出等基本業(yè)務(wù)。 個(gè)人單詞簿系統(tǒng)基本結(jié)構(gòu)框圖如圖2-1所示:?jiǎn)?dòng)系統(tǒng)主頁(yè)查詢錄入編輯與考查說明修改刪除考查導(dǎo)出圖2-1 個(gè)人單詞簿系統(tǒng)的基本框圖2.2.3 層序流層圖的設(shè)計(jì)程序開始查詢功能錄入單詞修改功能刪除功能測(cè)試功能判斷正誤誤正是否退出是退出圖2-2 程序流程圖2.3程序設(shè)計(jì)用戶進(jìn)入后, 可以看到主界面,可以根據(jù)自己的需要對(duì)單詞簿進(jìn)行錄入、修改、刪除等,還可以考查自己對(duì)單詞的掌握情況以及將已掌握的單詞導(dǎo)出到文本文檔中。2.3.1系統(tǒng)實(shí)施本系統(tǒng)主要通過運(yùn)用C#的Windows窗體的設(shè)計(jì)進(jìn)行開發(fā)和實(shí)施,主要通過如下幾個(gè)功能模塊來完成系統(tǒng)的具體的實(shí)

6、施過程:用戶查詢界面窗體:通過查詢界面用戶可以對(duì)單詞簿進(jìn)行查詢操作。其界面如圖2-3所示:圖2-3查詢界面相關(guān)代碼如下:private void button1_Click(object sender, EventArgs e) string sql = "select word as 單詞,jieshi as 解a釋 from Table1 where word like'%" + textBox1.Text.Trim() + "%'" ds = OperateDB.ExcuteDataSet(sql); dataGridView1.D

7、ataSource = ds.Tables0.DefaultView; (2)生詞錄入窗體:通過該界面用戶可以把生詞和解釋錄入到單詞簿內(nèi),其界面如圖2-4、圖2-5、圖2-6所示: 圖2-4錄入成功界面圖 2-5錄入重復(fù)界面圖2-6錄入為空界面其相關(guān)代碼如下:private void button3_Click(object sender, EventArgs e) if (textBox2.Text.Trim().Length != 0) string sql = "insert into Table1(word,jieshi)Values('" + textBo

8、x2.Text + "','" + textBox5.Text.Trim() + "')" try if (OperateDB.ExecuteNonQuery(sql) = 1) MessageBox.Show("添加成功!"); else MessageBox.Show("添加失??!"); catch MessageBox.Show("錄入失敗,此單詞已被錄入!"); else MessageBox.Show("單詞不能為空!"); (3)編輯與導(dǎo)出

9、窗體:在編輯窗體中用戶可以對(duì)單詞簿進(jìn)行刪除、修改和導(dǎo)出的操作,其界面如圖2-7、圖2-8、圖2-9、圖2-10所示: 圖2-7編輯主界面 圖2-8修改成功界面 圖2-9刪除界面 圖2-10導(dǎo)出界面其相關(guān)代碼如下:private void button5_Click(object sender, EventArgs e) Form2 frm = new Form2(); frm.Show(); private void button1_Click(object sender, EventArgs e) SqlCommandBuilder cb = new SqlCommandBuilder(da

10、); da.Update(ds); MessageBox.Show("修改成功!"); private void button2_Click(object sender, EventArgs e) DialogResult dlResult = MessageBox.Show(this, "要?jiǎng)h除這些信息嗎? ", "請(qǐng)確認(rèn)", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dlResult = DialogResult.Yes) int j = Fordve.Selec

11、tedRows.Count; int l = new intj; int i; for (i = 0; i < j; i+) li = Fordve.SelectedRowsi.Index; int k = 0; while (k < j) ds.Tables0.Rowslk.Delete(); k+; SqlCommandBuilder cb = new SqlCommandBuilder(da); da.Update(ds); private void Form2_Load(object sender, EventArgs e) BindData(); SqlDataAdapt

12、er da = new SqlDataAdapter(); DataSet ds = new DataSet(); / <summary> / 數(shù)據(jù)綁定 / </summary> void BindData() string sql = "select word as 單詞,jieshi as 解釋from Table1" SqlConnection conn = new SqlConnection(OperateDB.ConnString); conn.Open(); SqlCommand cmd = new SqlCommand(sql, con

13、n); da.SelectCommand = cmd; da.Fill(ds); Fordve.DataSource = ds.Tables0; conn.Close(); SqlConnection conn = new SqlConnection(OperateDB.ConnString); Save save = new Save(); private void button1_Click_1(object sender, EventArgs e) /radioChecked(); /Class1.CheckOut(Fordve); try / SqlConnection conn =

14、new SqlConnection(ConnString);/建立連接 conn.Open(); /異常處理 StreamWriter write = new StreamWriter("F:danci.txt", false, Encoding.Default); /streamwrite實(shí)例化 SqlCommand comm = new SqlCommand(); /command對(duì)?象實(shí)例化 string splice;/將讀出的數(shù)據(jù)進(jìn)行連接 comm.Connection = conn; comm.CommandType = CommandType.Text; /c

15、omm.CommandText = "select count(DanCi) from Infodanci" / int i = Convert.ToInt32(comm.ExecuteScalar(); comm.CommandText = "select * from Table1"/執(zhí)行Dsql語(yǔ)句? if (comm.ExecuteScalar() = null) MessageBox.Show("數(shù)據(jù)庫(kù)無數(shù)據(jù)無法寫入到文本中"); SqlDataReader Read = comm.ExecuteReader();/建立dq

16、ldatareader while (Read.Read() / int j; /將數(shù)據(jù)從數(shù)據(jù)庫(kù)讀出 / for (j = 0; j < i; j+) / splice = Read0.ToString().Trim()+" " + 't' + Read1.ToString().Trim();/ + 't' + Read5.ToString() + 't' + Read6.ToString(); write.WriteLine(splice);/將數(shù)據(jù)寫入txt文檔中 / write.Flush();/清空緩存區(qū) Mes

17、sageBox.Show("詞匯已生成!"); Read.Close(); conn.Close(); catch (Exception err) /捕獲異常 MessageBox.Show(err.Message); (4)隨機(jī)考查窗體:用戶可以對(duì)自己錄入的單詞進(jìn)行考察,單擊開始系統(tǒng)會(huì)自動(dòng)從數(shù)據(jù)庫(kù)里提取單詞,如果回答正確就會(huì)自動(dòng)進(jìn)行下一測(cè)試,如果錯(cuò)誤會(huì)給出提醒,其界面如圖2-11和圖2-12所示: 圖2-11考查正確界面 圖2-12考查錯(cuò)誤界面其相關(guān)代碼如下:delegate void MyDele(); string hanyi; private void button

18、2_Click(object sender, EventArgs e) MyDele dele = new MyDele(kaocha); dele.Invoke(); public void kaocha() string sql = "select Top 1 word, jieshi from Table1 order by newid()" SqlConnection con = new SqlConnection(OperateDB.ConnString); SqlCommand cmd = new SqlCommand(sql, con); con.Open()

19、; SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read() label1.Text = "單詞" + (string)dr"word".ToString().Trim(); hanyi = (string)dr"jieshi".ToString().Trim(); con.Close(); private void button3_Click(object sender, EventArgs e) /hanyi.capacity(50); if (hanyi = textBox1.Text) MessageBox.Show("答案正確!", "提示"); MyDele delee = new MyDele(kaocha); delee.Invoke(); else if (MessageBox.Show("答案錯(cuò)誤!是否繼續(xù)?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Error) = DialogR

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論