英漢電子詞典設(shè)計報告 設(shè)計 C語言 C語言程序設(shè)計_第1頁
英漢電子詞典設(shè)計報告 設(shè)計 C語言 C語言程序設(shè)計_第2頁
英漢電子詞典設(shè)計報告 設(shè)計 C語言 C語言程序設(shè)計_第3頁
英漢電子詞典設(shè)計報告 設(shè)計 C語言 C語言程序設(shè)計_第4頁
英漢電子詞典設(shè)計報告 設(shè)計 C語言 C語言程序設(shè)計_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課程設(shè)計課程名稱 c語言程序課程設(shè)計 題目名稱 電子英漢詞典_學(xué)生學(xué)院 自動化學(xué)院專業(yè)班級 自動化09級03班學(xué) 號 _3209001589_學(xué)生姓名 何靜賢指導(dǎo)教師 李忠娟 2010年3月4日廣東工業(yè)大學(xué)課程設(shè)計任務(wù)書題目名稱 電子英漢詞典學(xué)生學(xué)院 自動化學(xué)院專業(yè)班級 自動化09級03班學(xué) 號 _3209001589_學(xué)生姓名 何靜賢_一、 課程設(shè)計的內(nèi)容 題目三十:電子英漢詞典設(shè)計一、問題描述:英漢詞典作為一個常用的學(xué)習(xí)工具,是我們經(jīng)常要使用的。該系統(tǒng)能完成一個簡單的電子英漢詞典的功能,如:單詞的查找、增詞、刪除、修改和維護(hù)等工作。二、功能描述:1、在計算機(jī)中建立有限規(guī)模的電子英漢詞典(文

2、件),利用程序?qū)崿F(xiàn)電子英漢詞典的查找、增詞、刪除、修改和維護(hù)工作。2、詞典的內(nèi)容為:每行對應(yīng)一個詞條,每個詞條由兩個字符串組成,字符串用若干空格符分開;前一個是單詞字符串(英文),后一個是釋義字符串(中文),使用分號作為多個釋義的分隔符(無空格)。3、對單詞和釋義字符串長度的限定分別為不少于20個與40個字符,詞條數(shù)限定為不多于200條。4、采用菜單工作方式。在一個操作執(zhí)行之后,程序詢問是否繼續(xù)執(zhí)行該操作。如輸入y或y,則重復(fù)同一操作,不退回到菜單;如輸入其它信息,則回到菜單等待另一次選擇。僅當(dāng)選擇退出操作時,程序應(yīng)詢問是否將修改后的詞典存盤,并根據(jù)用戶選擇存盤退出或不存盤退出。5、要求整個設(shè)

3、計以人為本,用戶界面友好。二、課程設(shè)計的要求與數(shù)據(jù)1、進(jìn)一步掌握和利用c語言進(jìn)行程設(shè)計的能力;2、進(jìn)一步理解和運用結(jié)構(gòu)化程序設(shè)計的思想和方法;3、初步掌握開發(fā)一個小型實用系統(tǒng)的基本方法;4、學(xué)會調(diào)試一個較長程序的基本方法;5、學(xué)會利用流程圖或n-s圖表示算法;6、掌握書寫程序設(shè)計開發(fā)文檔的能力。二、 課程設(shè)計應(yīng)完成的工作1) 設(shè)計程序2) 進(jìn)行調(diào)試與運行3) 完成設(shè)計報告4) 答辯四、課程設(shè)計進(jìn)程安排序號設(shè)計各階段內(nèi)容地點起止日期下達(dá)任務(wù)書,說明設(shè)計要求,收集資料實驗3#5133.1總體方案設(shè)計、詳細(xì)設(shè)計實驗3#5133.2編寫程序調(diào)試分析實驗3#5133.3撰寫報告并上交,答辯實驗3#513

4、3.5五、應(yīng)收集的資料及其主要參考文獻(xiàn) 譚浩強(qiáng)程序設(shè)計(第三版)北京:清華大學(xué)出版社,2005年9月 譚浩強(qiáng)程序設(shè)計題解與上機(jī)指導(dǎo)(第三版)北京:清華大學(xué)出版社,2005年月 3 陳國章 turbo c程序設(shè)計技巧與應(yīng)用實例天津科學(xué)技術(shù)出版社,1995,5 4 廖雷 c語言程序設(shè)計習(xí)題解答及上機(jī)指導(dǎo)(第2版) 高等教育出版社發(fā)出任務(wù)日期:2010年3月1日指導(dǎo)教師簽名:計劃完成日期:2010年3月5日基層教學(xué)單位責(zé)任人簽名:目錄. 設(shè)計目的與要求5. 總體設(shè)計6. 詳細(xì)設(shè)計6.調(diào)試分析8.總結(jié)10.附錄10.答辯記錄(正文處留出適當(dāng)空白)14.指導(dǎo)教師意見(正文處留出適當(dāng)空白)15. 目的與要

5、求一 設(shè)計目的將理論教學(xué)中涉及到的知識點貫穿起來,對不同的數(shù)據(jù)類型、程序控制結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)作一比較和總結(jié),結(jié)合設(shè)計題目進(jìn)行綜合性應(yīng)用,對所學(xué)知識達(dá)到融會貫通的程度。通過課程設(shè)計,在下述各方面的能力應(yīng)該得到鍛煉:1) 對于給定的設(shè)計題目,如何進(jìn)行分析,理清思路,并給出相應(yīng)的數(shù)學(xué)模型。 2) 掌握自頂而下的設(shè)計方法,將大問題進(jìn)行模塊化,領(lǐng)會結(jié)構(gòu)化程序設(shè)計的方法。3) 熟練掌握c語言的基本語法,靈活運用各種數(shù)據(jù)類型。4) 進(jìn)一步掌握在集成環(huán)境下如何調(diào)試程序(單步調(diào)試,設(shè)置斷點、觀察表達(dá)式,分塊調(diào)試)和修改程序。二 設(shè)計和調(diào)試過程規(guī)范化要求1、需求分析分析系統(tǒng)功能需求以及用戶操作流程。2、概要設(shè)計在需

6、求分析的基礎(chǔ)上,確定系統(tǒng)總體框架(系統(tǒng)功能結(jié)構(gòu)圖)。3、詳細(xì)設(shè)計定義數(shù)據(jù)存儲結(jié)構(gòu),并設(shè)計實現(xiàn)系統(tǒng)功能的具體算法,畫出各算法的ns流程圖。4、代碼設(shè)計根據(jù)所設(shè)計的算法,定義相應(yīng)函數(shù)分別實現(xiàn)系統(tǒng)的各子功能模塊,同時由主程序提供友好的用戶界面,使用戶可通過選擇主菜單來調(diào)用課程設(shè)計中要求完成的各個功能模塊,子程序執(zhí)行完后還可以返回到主菜單,繼續(xù)選擇其他功能執(zhí)行。源程序要求書寫規(guī)范,結(jié)構(gòu)清晰。5、程序調(diào)試程序編譯、鏈接成功后,自己設(shè)計實現(xiàn)程序功能的一組或多組測試數(shù)據(jù),并嚴(yán)格按照此測試數(shù)據(jù)進(jìn)行測試,然后分析測試結(jié)果。如果程序不能正常運行或結(jié)果不正確,則需對程序進(jìn)行單步調(diào)試,在調(diào)試過程中認(rèn)真查找算法實現(xiàn)中存

7、在的問題,并加以分析和改正。如果程序能夠基本正確地運行,可考慮增加若干基本的容錯功能(如避免用戶操作錯誤時程序出現(xiàn)死循環(huán)等);另外盡量對現(xiàn)有算法給出改進(jìn)方案,并比較不同算法之間的優(yōu)缺點。. 總體設(shè)計大致思路框架圖:查找功能添加功能刪除功能修改功能主函數(shù) 3.詳細(xì)設(shè)計顯示菜單輸入選項開始返回?返回?返回?執(zhí)行查找函數(shù)search( )執(zhí)行添加函數(shù)creat( )執(zhí)行刪除函數(shù)delete( )執(zhí)行break語句退出= =1= =2= =3= =4= =5yyynnn4.調(diào)試分析 進(jìn)入菜單頁面以后,有四個選項,1.是查找單詞;2.是增加單詞;3.修改單詞;4.,刪除單詞;5.退出菜單進(jìn)入菜單,輸入1

8、 ,按回車就會出現(xiàn)提示語,然后輸入你想查詢的單詞,并按回車。如果程序里面存有這個單詞就會輸出這個單詞和它的中文意思。如果不存在就提示你“no this word”。 輸入2,按回車就進(jìn)入增詞的程序了。如果里面存儲的單詞達(dá)到200個了,就會提醒你“the dictionaryis full”。如果沒有超過,那就引導(dǎo)你輸入你想增加的單詞及其意思。這樣就增加了單詞。 輸入4,回車。在出現(xiàn)“please press the word you want to update”后面輸進(jìn)你想修改的單詞,然后根據(jù)提示語輸入單詞及其意思,之后就會告訴你修改完成了。 輸入5的過程有一些不理想的結(jié)果,輸入5后,有時候

9、不斷地執(zhí)行同一個printf語句,只能強(qiáng)制關(guān)閉窗口,之前的工作就這樣沒了,不知道為什么,可能是程序tc3中包含c與c,它們之間沖突。我到現(xiàn)在還不懂就是怎么退出菜單。 5.附錄#includechar word20040,meaning20040;int ch;main ()menu:printf(*menu*n); printf(1*searchn); printf(2*creatn); printf(3*deleten); printf(4*updaten); printf(5*exitn); printf(*n); printf(please make your choice from 1

10、 to 5n); scanf(%d,&ch); switch(ch) case 1:search(); break;case 2:creat(); break;case 3:dele(); break;case 4:update(); break;case 5:break;default:main(); int search() char temp40; char s,g; int a,b,d,i,j; printf(n please press the wordn); scanf(%s,temp); s=temp0; for(i=0,j=0;s!=0&j=40;)s=tempj; if(st

11、rcmp(wordij,s)=0) j+; else j=0; i+; d=j-1; if(strcmp(wordid,s)=0)printf(n); for(a=0;temp0!=0&a=40;a+) printf(%s,tempa); printf(n meansn); for(b=0;tempb!=0&b=40;b+) printf(%s,meaningib); loop1:printf(n*n); printf(do you want to continue;choose y or nn); scanf(%c,&g); switch(g) case y:search( ); break

12、; default:main(); elseprintf(no this wordn); goto loop1; int creat( ) int x,c; char t,g,neww40,newm40; t=0; printf(n); if (word2000=0) for(x=0;x=200;x+) if(strcmp(wordx0,t)=0) break; else continue; printf(n input the new wordn); scanf(%s,&neww40); printf(n input its meaningn); scanf(%s,&newm40); for

13、(c=0;newwc!=0&c=40;c+) wordxc=newwc; meaningxc=newmc; printf(n successn); else printf(n the dictionary is fulln); printf(*n); printf(do you want to continue; choose y or nn); scanf(%c,&g); switch(g) case y:creat( ); break; default:main(); int dele( ) char temp40,z,g,s; int d,i,j,q,k; printf(n please

14、 press the wordn); scanf(%s,temp); s=temp0; for(i=0,j=0;s!=0&j=40;) s=tempj; if(strcmp(wordij,s)=0) j+; else j=0; i+; d=j-1; if(strcmp(wordid,s)=0) printf(n are you sure to delete it;choose y or nn); scanf(%c,&z); switch(z)case y:q=i+1; for(;i200;i+,q+) for(k=0;k=40;k+) wordik=wordqk; meaningik=mean

15、ingqk; word2000=0; meaning2000=0; printf(n successn); printf(*nn); printf(do you want to continue; choose y or nn); scanf(%c,&g); switch(g) case y:dele(); break; default:main(); default:printf(*nn);printf(do you want to continue; choose y or nn);scanf(%c,&g); switch(g) case y:dele( ); break; default

16、:return(0); break; else printf(n no this wordn); printf(*nn); printf(do you want to continue; choose y or nn); scanf(%c,&g); switch(g) case y:dele( ); break; default:main(); int update( ) char temp40,s,g; int d,i,j,v; printf(n please press the word you want to updaten); scanf(%s,temp); s=temp0; for(

17、i=0,j=0;s!=0&j=40;) s=tempj; if(strcmp(wordij,s)=0) j+; else j=0; i+; d=j-1; if(strcmp(wordid,s)=0) char rw40,rm40; printf(n please input the word changedn); scanf(%s,rw); printf(n please input its meaningn); scanf(%s,rm); for(v=0;rwv!=0&v=40;v+) wordiv=rwv; meaningiv=rmv; printf(n successn); printf(*n); printf(do you want to conti

溫馨提示

  • 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

提交評論