英語詞典課程設(shè)計報告_第1頁
英語詞典課程設(shè)計報告_第2頁
英語詞典課程設(shè)計報告_第3頁
英語詞典課程設(shè)計報告_第4頁
英語詞典課程設(shè)計報告_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、英語詞典課程設(shè)計報告山東交通學(xué)院面向?qū)ο笳n程設(shè)計英語學(xué)習(xí)小詞典(院)系:信電學(xué)院班 級:計算111姓 名:學(xué) 號:110811123指導(dǎo)教師: 錢斌時 間:2012-10-102012-10-21課程設(shè)計任務(wù)書題 目:英語學(xué)習(xí)小詞典C+語言課程設(shè)計系 部: 信電學(xué)院專 業(yè):計算機科學(xué)與技術(shù)班 級:計算111姓 名:學(xué) 號:10月10日至10月21日共2周指導(dǎo)教師(簽字):系主任(簽字):年 月 日課程設(shè)計任務(wù)書一、設(shè)計內(nèi)容及要求.設(shè)計目的學(xué)生根據(jù)所學(xué)的數(shù)據(jù)庫原理與程序設(shè)計的知 識,能夠針對一個小型的數(shù)據(jù)庫管理系統(tǒng),進(jìn)行系 統(tǒng)的需求分析,系統(tǒng)設(shè)計,數(shù)據(jù)庫設(shè)計,編碼,測 試等,完成題目要求的功能,

2、從而達(dá)到掌握開發(fā)一 個小型數(shù)據(jù)庫的目的。.設(shè)計內(nèi)容.必須設(shè)計的基本數(shù)據(jù)表:英語分級單詞表, 常用單詞例句表,短文分級表等。.功能模塊1)實現(xiàn)英語單詞的錄入、修改、刪除等基本 操作。2)實現(xiàn)常用英語單詞例句的錄入、修改、刪 除等基本操作。3)實現(xiàn)英語單詞檢索、翻譯等。4)常用英語單詞例句檢索。5)根據(jù)難度隨機生成一份單詞測試題目。6)能夠檢索出短文極其翻譯對照表。二、設(shè)計原始資料(1)電子出版社出版的VISUAL C+程序設(shè) 計及應(yīng)用,賀懷清等編著.(2)高等教育出版社出版的數(shù)據(jù)庫系統(tǒng)簡明 教程,王珊。三、設(shè)計完成后提交的文件.課程設(shè)計報告(3000-5000字),紙質(zhì)打印稿及 電子版(1)需求

3、分析(功能模塊層次圖)(2)系統(tǒng)設(shè)計(包括詳細(xì)設(shè)計和界面設(shè)計)(3)代碼設(shè)計(主要功能函數(shù))(4)測試記錄(測試各項功能的正確性、容錯性) (5)課程設(shè)計總結(jié).系統(tǒng)程序演示。.課程設(shè)計任務(wù)書2.圖紙部分: 序流程圖程序四、進(jìn)度計劃10月10-10月12日完成需求分析和系統(tǒng)設(shè)計;10月13日-10月16日完成代碼設(shè)計;10月17日-10月20日測試和調(diào)試;10月21日參加答辯。五、主要參考資料.李閩溟等.Visual C+6.0數(shù)據(jù)庫系統(tǒng)開發(fā)實例導(dǎo)航M.北京:人民郵電出版社.閃四清.數(shù)據(jù)庫系統(tǒng)原理與應(yīng)用教程M.清華大學(xué)出版社成績評定表作品成績報告成績口試(答辯)成績總評成績對于我們,隨著學(xué)習(xí)的深

4、入,已經(jīng)大體掌握了Visual C+6.0環(huán)境下的程序開發(fā)。為了將我們的編程能力提升到一個更高的水平,深化面向?qū)ο蟮木幊趟季S和解決問題的能力,值此課程設(shè)計周期間,進(jìn)行基于 Visual C+6.0環(huán)境的軟 件開發(fā),先以字符統(tǒng)計軟件作為開始,對 Visual C+6.0環(huán)境和面向?qū)ο蟪绦蛟O(shè) 計進(jìn)行回憶和熟悉,使得在此基礎(chǔ)上的下一個課程設(shè)計的開發(fā)進(jìn)行的更加順利。本文檔詳細(xì)敘述了基于Visual C+6.0環(huán)境下的英語學(xué)習(xí)小詞典系統(tǒng)軟件的 設(shè)計過程以及程序源代碼。本文檔從概要設(shè)計,詳細(xì)設(shè)計,參考源程序代碼以及顯示程序運行的截屏等方面詳盡的介紹了軟件開發(fā)過程程序在設(shè)計的過程中遇到的問題已及時更正,但由

5、于編者的能力和水平有 限,字符統(tǒng)計軟件和文檔中不免會出現(xiàn)一些不期待的錯誤,望文檔讀者能夠理 解和體諒,并歡迎提醒和糾正,在此表示感謝以及敬意。目錄 TOC o 1-5 h z .課程設(shè)計概述 8英語學(xué)習(xí)小詞典題目及簡介 8開發(fā)環(huán)境概述 8. 總體設(shè)計 8項目規(guī)戈IJ 8系統(tǒng)結(jié)構(gòu)流程圖 9數(shù)據(jù)庫邏輯結(jié)構(gòu) 10.功能模塊界面及程序代碼 11主界面模塊設(shè)計 11數(shù)據(jù)庫登陸框設(shè)計 12操作數(shù)據(jù)庫模塊設(shè)計 14單詞添加模塊 14單詞刪除模塊 16單詞修改模塊 25查詢模塊設(shè)計 錯誤!未定義書簽。隨機生成單詞測試表模塊設(shè)計 38.設(shè)計體會 28參考文獻(xiàn) 281.1.英語學(xué)習(xí)小詞典題目及簡介根據(jù)軟件需求,要

6、求軟件具有以下功能:1)實現(xiàn)英語單詞的錄入、修改、刪除等基本操作。2)實現(xiàn)常用英語單詞例句的錄入、修改、刪除等基本操作。3)實現(xiàn)英語單詞檢索、翻譯等。4)常用英語單詞例句檢索。5)根據(jù)難度隨機生成一份單詞測試題目。6)能夠檢索出短文極其翻譯對照表。數(shù)據(jù)庫系統(tǒng)主要為登陸,登陸后可以瀏覽,添加,刪除,修改各種單詞, 單詞例句,英語短文信息。1.2.開發(fā)環(huán)境概述硬件要求CPU: 300MHz以上的處理器內(nèi)存:128MB ,推薦256MB硬盤:150MB以上剩余空間顯示像素:最低800*600,最佳效果1024*768軟件要求操作系統(tǒng):Windows2000/NT/XP/Vista/Win7。數(shù)據(jù)庫:

7、SQL Server2000項目規(guī)劃根據(jù)需求分析,設(shè)計程序框架。英語詞典學(xué)習(xí)軟件由 3大部分組成。設(shè)計 各部分具體功能如下:1)查詢模塊。包括單詞查詢,單詞例句查詢,短文翻譯查詢。2)用戶密碼模塊。包括用戶名,密碼。3)數(shù)據(jù)庫模塊。包括三個表,單詞表,單詞例句表,短文表??梢詫?現(xiàn)各個表信息的添加,修改,刪除。4)測試模塊。隨機生成一份單詞測試表。系統(tǒng)結(jié)構(gòu)流程圖數(shù)據(jù)庫邏輯結(jié)構(gòu)本系統(tǒng)采用SQL Server 2000數(shù)據(jù)庫,系統(tǒng)數(shù)據(jù)庫名為 Dictionary , 其中共包含3個自己建的表。表2.1單詞表字段中文名字段名類型長度單詞danci文本10單詞翻譯dancifanyi文本50編號ID自

8、動編p表2.2單詞例句表:字段中文名字段名長度單詞danci文本10單詞例句danciliju文本150編號lijuID自動編p表2.3英語低級短文表:字段中文名字段名長度短文duanwen文本190短文翻譯duanwenfany i文本225編號duanwenlD自動編p表2.3英語局級短文表:字段中文名字段名長度-短文duanwen文本190短文翻譯duanwenfan yi文本225編號duanwenID自動編p表2.5登陸表:字段中文名字段名長度用戶user文本10密碼password文本10主界面模塊設(shè)計彈出窗口按鈕,代碼:denglu dlg;dlg. DoModal();其余按鈕

9、代碼相同數(shù)據(jù)庫登陸框設(shè)計數(shù)據(jù)庫登錄按鈕的代碼:void denglu:OnOK()(/ TODO: Add extra validation here UpdateData(TRUE);dengluset userset;CString sqlStr;CDatabase m;/OPENDATABASE/m.Open(_T(EnglishDic);if(!m.IsOpen()MessageBox(不能打開數(shù)據(jù)庫!);return;if(m_struser.IsEmpty()MessageBox(”請輸入用戶名!,Prompt);m_cstruser.SetFocus();return;if(m_

10、strpassword.IsEmpty()MessageBox(請輸入密碼匚Prompt);m_cstrpassword.SetFocus();return;sqlStr.Format(select * from user where user=%s AND password=%s,m_struser,m_strpassword);if(!userset.Open(AFX_DB_USE_DEFAULT_TYPE,sqlStr) MessageBox(不能打開數(shù)據(jù)庫!,Database Error,MB_OK);return ;/RECORDCOUNT/if(userset.GetRecordC

11、ount()=0)userset.Close();MessageBox(密碼錯誤!請再次輸入 匚”Error!);m_strpassword=;m_cstrpassword.SetFocus();UpdateData(FALSE);) else(userset.Close();CDialog:OnOK(); danci dlg;dlg.DoModal();)若用戶為空則提示(容錯性):若密碼錯誤,則提示:錯誤密碼提示界面3.3.1單詞添加模塊跳轉(zhuǎn)窗口代碼:void CEnglishDictionaryDlg:OnBUTTONWord()(/ TODO: Add your control not

12、ification handler code here denglu dlg;dlg.DoModal();ShowItem(select * from dancitable);)單詞添加窗口如圖所示:具體代碼如下:void danciadd:OnOK() (/ TODO: Add extra validation here UpdateData(TRUE);if(m_Englishdanci.IsEmpty():MessageBox(NULL, English not kong!, addEnglish,MB_OK|MB_ICONINFORMATION|MB_TAS KMODAL); retu

13、rn; danciset danciset; TRYif (!danciset.Open(CRecordset:dynaset, NULL, CRecordset:appendOnly):MessageBox(NULL,打開數(shù)據(jù)失敗”baseoperator,MB_OK|MB_ICONEXCLAMATION); return;)if(!danciset.CanAppend()(:MessageBox(NULL,記錄不能夠被操 作 ,baseoperator,MB_OK|MB_ICONEXCLAMATION);return;)danciset.AddNew();danciset.m_danci=

14、 m_Englishdanci;danciset.m_dancifanyi= m_Chinesedanci;danciset.Update();danciset.Close();)CATCH_ALL(e)(e-ReportError();if (danciset.IsOpen()(danciset.Close();:MessageBox(NULL,”搜 索數(shù) 據(jù)失敗!, baseoperator,MB_OK|MB_ICONEXCLAMATION);return;END_CATCH_ALLUpdateData(FALSE);CDialog:OnOK();如果輸入有誤,像英語單詞為空,則會有相應(yīng)的

15、提示:3.3.2單詞刪除模塊然后確定后,再選擇未選擇記錄時的提示語選擇單詞hard進(jìn)行刪除,點擊DELET酸鈕還會有更進(jìn)一步的提示:是否確定刪除,是則刪除,否則不刪。刪除按鈕的具體代碼:void danci:OnButtonDelete()(/ TODO: Add your control notification handler code hereUpdateData(TRUE);POSITION pos;int iPos;CString EnglishID;posm_listdanci.GetFirstSelectedItemPosition(); if (pos = NULL)(:Mes

16、sageBox(NULL, ”請選擇要刪除的記錄!,dancitale,MB_OK|MB_ICONINFORMATION|MB_TAS KMODAL); return;if(AfxMessageBox(你 確定要 刪除嗎?”, MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2) = IDNO)return;iPos =m_listdanci.GetNextSelectedItem(pos);EnglishID =m_listdanci.GetItemText(iPos,0);from dancitableCString strSQL;strSQL.Format(de

17、letewhere danci=%s, EnglishlD);CDatabase db;/CString strCon;/strCon.Format(DSN=%s;UID=%s;PWD=%s, dancitable,);db.Open(EnglishDic);db.ExecuteSQL(strSQL);db.Close();ShowItem(select * from dancitable); UpdateData(FALSE);)3.3.3單詞修改模塊單詞修改首先也要找到單詞記錄,然后在單詞修改對話框中顯示您要修改 的單詞對象,以便修改,修改后更新數(shù)據(jù)庫。未選擇但此時的畫面:選定修改單詞畫面

18、:EDIT按鈕具體代碼:void danci:OnButtonEdit()(notification/ TODO: Add your control handler code heredanciedit editdlg;POSITION pos;int iPos;posm_listdanci.GetFirstSelectedItemPosition();if (pos = NULL)AfxMessageBox(請選擇要編輯的記錄!); return;iPos= m_listdanci.GetNextSelectedItem(pos);editdlg.m_Englishdanci=m_listd

19、anci.GetItem Text(iPos, 0);editdlg.m_Chinesedanci=m_listdanci.GetItemText(iPos, 1);editdlg.m_strID=m_listdanci.GetItemText(iPos, 2);editdlg.DoModal();ShowItem(select * from dancitable);UpdateData(FALSE);)在修改對話框中顯示所選單詞畫面:修改單次數(shù)據(jù)庫的具體代碼:void danciedit:OnOK()(/ TODO: Add extra validation hereUpdateData(T

20、RUE);if(m_Englishdanci.IsEmpty()(add:MessageBox(NULL, English not kong!,English,MB_OK|MB_ICONINFORMATION|MB_TASKMODAL);return;)CString strTmp;strTmp.Format(SELECT * FROMdancitable where ID = %s,m_strID);danciset danciset;/*danciset.Open(CRecordset:dynaset,strTmp, CRecordset:none);/danciset.Open(CRec

21、ordset:dynaset,strTmp,CRecordset:none);danciset.Edit();danciset.m_danci=editdlg.m_Englishdanci;danciset.m_dancifanyi=editdlg.m_Chinesedan ci;danciset.Update();danciset.Close();*/TRYif (!danciset.Open(CRecordset:dynaset, strTmp, CRecordset:none)(:MessageBox(NULL,打開數(shù)據(jù)表格失 敗 !,baseoperator,MB_OK|MB_ICON

22、EXCLAMATION);return;if(!danciset.CanUpdate()(:MessageBox(NULL,”記 錄暫 不能更 新 !,baseoperator,MB_OK|MB_ICONEXCLAMATION);return;danciset.Edit();danciset.m_danci =m_Englishdanci;danciset.m_dancifanyi=m_Chinesedanci;danciset.Update();danciset.Close();CATCH_ALL(e)e-ReportError();if (danciset.IsOpen()( dancis

23、et.Close();)二MessageBox(NULL, search base failed!, baseoperator,MB_OK|MB_ICONEXCLAMATION); return; ) END_CATCH_ALL/ strTmp.Format(update dancitable set danci=%s,dancifanyi=%s whereID=%s,editdlg.m_Englishdanci,editdlg.m_Chi nesedanci,editdlg.m_strID);UpdateData(FALSE);CDialog:OnOK();ALL按鈕的具體代碼:void d

24、ancid二OnButtonAll()/ TODO: Add your control notification handler code here ShowItem(select * from dancitable);)3.3.查詢模塊設(shè)計單詞搜索按鈕的代碼:voidCEnglishDictionaryDlg:OnBUTTONSearch()(/ TODO: Add your control notification handler code hereUpdateData(TRUE);danciset danciset;if(m_strdanci.IsEmpty()(:MessageBox(

25、NULL,英語單詞不能為 空 !,addEnglish,MB_OK|MB_ICONINFORMATION|MB_T ASKMODAL);return; elseCString strSQL;strSQL.Format(select * from dancitable where danci=%s,m_strdanci);if(!danciset.Open(CRecordset:dynaset,strSQ L,CRecordset:none)AfxMessageBox(field); return; elsem_strdancifanyi=danciset.m_dancifanyi;dancis

26、et.Close();if(m_strdancifanyi.IsEmpty()AfxMessageBox(Base have not record!);UpdateData(FALSE);單詞例句搜索按鈕代碼:voidCEnglishDictionaryDlg:OnBUTTONSearch1()/ TODO: Add your control notification handler code hereUpdateData(TRUE);dancilijuset dancilijuset;if(m_strdanci.IsEmpty()二MessageBox(NULL,英語單詞不能為空 匕addE

27、nglish,MB_OK|MB_ICONINFORMATION|MB_T ASKMODAL); return; else CString strSQL;strSQL.Format(select * from dancilijutablewheredanci=%s,m_strdanci);if(!dancilijuset.Open(CRecordset:dynaset,str SQL,CRecordset:none)AfxMessageBox(field); return; elsem_strliju=dancilijuset.m_danciliju; dancilijuset.Close();

28、if(m_strliju.IsEmpty() AfxMessageBox(Base have not record!);UpdateData(FALSE); 短文翻譯按鈕代碼: voidCEnglishDictionaryDlg:OnBUTTONTransla te() / TODO: Add your control notification handler code hereUpdateData(TRUE);duanwenset duanwenset;if(m_strliju.IsEmpty()二MessageBox(NULL,英語例句不能為 空 匕addEnglish,MB_OK|MB_

29、ICONINFORMATION|MB_TASKMODAL);return;)else(CString strSQL;strSQL.Format(select * from duanwentablewhereduanwen=%s,m_strliju);if(!duanwenset.Open(CRecordset:dynaset,st rSQL,CRecordset:none)(AfxMessageBox(field);return;)else(m_strduanwen=duanwenset.m_duanwenfa nyi;duanwenset.Close();if(m_strduanwen.Is

30、Empty()AfxMessageBox( e ?Y? a? o D?!); UpdateData(FALSE);查詢a的結(jié)果畫面:3.5隨機生成單詞測試表模塊設(shè)計利用隨機數(shù)生成函數(shù),再做相應(yīng)的處理,生成不會重復(fù)的隨機數(shù),利用它 為查詢條件,查找單詞表中的ID,生成對應(yīng)的單詞單詞測試表,顯示在對話框 中。每一次的點擊便可隨機產(chǎn)生一份單詞測試表。void CEnglishDictionaryDlg:OnBUTTONTest()/ TODO: Add your control notificationhandler code heretest dlg;danciset danciset;int b

31、6;srand(time(0);/? srand(time(NULL);for( int i = 0; i 6; i+ )bi = rand()%23;for( int j = 0; j i; j+)if( bj = bi11bi=0 ) i-;break;)/ dlg.m_test1.Format(%d,i);/ testID.Format(%d,i);fromCString strSQL;strSQL.Format(select dancitable where ID=%d,b0);if(!danciset.Open(CRecordset:dynaset,strSQL, CRecordse

32、t:none)AfxMessageBox(field); return; elsedlg.m_test1=danciset.m_danci;dlg.m_7=danciset.m_dancifanyi;danciset.Close(); UpdateData(FALSE);CString strSQL1;strSQL1.Format(select * from dancitable where ID=%d,b1);if(danciset.Open(CRecordset:dynaset,strSQ L1,CRecordset:none)dlg.m_test2=danciset.m_danci;dl

33、g.m_8 =danciset.m_dancifanyi;danciset.Close(); UpdateData(FALSE); ) CString strSQL2;strSQL2.Format(select * from dancitable where ID=%d,b2);if(danciset.Open(CRecordset:dynaset,strSQL2,CRecordset:none)(dlg.m_test3=danciset.m_danci;dlg.m_9 =danciset.m_dancifanyi;danciset.Close(); UpdateData(FALSE); )f

34、romCString strSQL3;strSQL3.Format(selectdancitable where ID=%d,b3);if(danciset.Open(CRecordset:dynaset,strSQL3,CRecordset:none)(dlg.m_test4=danciset.m_danci;dlg.m_10=danciset.m_dancifanyi;danciset.Close(); UpdateData(FALSE); CString strSQL4;strSQL4.Format(select * from dancitable where ID=%d,b4);if(danciset.Open(CRecordset:dynaset,strSQ L4,CRecordset:none)(dlg.m_test5=danciset.m_danci;dlg.m_11 =danciset.m_dancifanyi;danciset.Close(); UpdateData(FALSE);CString strSQL5;strSQL5.Format(select * from dancitable where ID=%d,b5);if(danciset.Open(CRecor

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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

提交評論